Odbc

使用一對 ODBC 數據源從 CCURE 800/8000 系統導出數據?

  • January 11, 2017

我正在開發一個名為 CCURE 800/8000 的安全系統,並嘗試從活動監視器中導出一些入口/出口數據,該監視器記錄人們何時使用他們的徽章進出建築物。在控制它的機器上列出了兩個 ODBC DSN……我們將它們稱為 DSNNAME 和 DSNNAME_TXT。

DSNNAME 使用 aProgress OpenEdge 10.2A Driver並且 DSNNAME_TXT 使用 aMicrosoft Text Driver (*.txt, *.csv)

DSNNAME

DSNNAMEDSN上的描述為CCURE Journal Export DSN,所以我認為它連接到 CCURE 800/8000 進度數據庫以提取資訊。它似乎可以工作,因為點擊Test Connect按鈕並輸入使用者名和密碼會出現一個Connection Established!對話框。

DSNNAME_TXT

此 DSN 上的描述顯示CCURE Journal Export DSN for Time & Attendance我認為此 DSN 用於將導出的數據寫入幾個 csv 文件。

DNSNAME_TXT driver指向一個目錄,其中有一個文件:該Schema.ini 文件包含以下內容:

[timeok.txt]
ColNameHeader=False
Format=Delimited(;)
MaxScanRows=0
CharacterSet=OEM
Col1=ID Char Width 255
Col2=NAME Char Width 255
Col3=DATEIN Char Width 255
Col4=DATEOUT Char Width 255
Col5=HHDIFF Float
Col6=READERIN Char Width 255
Col7=RNAMEIN Char Width 255
Col8=READEROUT Char Width 255
Col9=RNAMEOUT Char Width 255
Col10=FLAG Integer
[timeerr.txt]
ColNameHeader=False
Format=Delimited(;)
MaxScanRows=0
CharacterSet=OEM
Col1=ID Char Width 255
Col2=NAME Char Width 255
Col3=ERRDATEIN Char Width 255
Col4=ERRDATEOUT Char Width 255
Col5=ERRHH Float
Col6=ERRIN Char Width 255
Col7=ERRNAMEIN Char Width 255
Col8=ERROUT Char Width 255
Col9=ERRNAMEOUT Char Width 255
Col10=ERRDESCR Char Width 255

[schema.ini]
ColNameHeader=False
Format=CSVDelimited
MaxScanRows=0
CharacterSet=OEM

該文件提到timeok.txt並且timeerr.txt沒有出現在機器上的任何地方(我搜尋了整個硬碟),但根據這個文件,它們應該與schema.ini使用Microsoft Text Driver (*.txt, *.csv). 有關 DSN 的更多詳細資訊,該options >>按鈕顯示它Extensions List正在選擇*.*.

CCURE 800/800 管理客戶端

Administration Client我正在嘗試導出報告中;正如我上面所說,我認為該報告旨在導出到兩個文件中timeok.txt,並且timeerr.txt

要在中生成報告Administration Client: 1. 從菜單中點擊1.從列表中Reports -> Personnel -> Time and Attendance... 選擇一個呼叫的報告。1.我點擊按鈕 1.我通過點兩下該文本框來選擇一個 1.如果我呼叫了一個,我可以看到該選項卡已設置為原樣(並且使用​​正確的使用者名和密碼點擊)說連接成功。1.當我點擊選項卡時,輸入使用者名和密碼,然後點擊我也收到一條成功的消息。1. 在選項卡上,我選中啟用日誌記錄,文件說明生成了一個日誌文件,似乎是這種情況…. 1. 最後我點擊Access``Select Report``Run Report``Journal export database``Cards``edit``ODBC``DSNNAME_TXT``DSN``Test ODBC connection to the Database``Progress``Test Progress connection to Database``SQL``C:\CCURE800\4gl\Database\Log\DriverErr0.000001.log``Setup選項卡並點擊Export Personnel data...,或者Export Object data...我收到一條消息,顯示消息但在任何一個文件 (或)Successfully completed Journal Export中都沒有輸出,因為我希望這樣做…. 1. 如果我真的嘗試執行報告,我最終得到一個關於失去文件的錯誤:timeok.txt``timeerr.txt``.ocx

---------------------------
Error
---------------------------
Specified ActiveX control is not registered or the .ocx file was moved from where it was registered.
Error occurred in procedure: control_load source\rep_sho_excel.w (6087)
---------------------------
OK   
---------------------------

…隨後是另一個對話框,內容如下:

---------------------------
Error
---------------------------
Microsoft Excel OCX control cannot be loaded. Some components are missing or not registered. (CC-2334)
---------------------------
OK   
---------------------------

(同樣沒有輸出……雖然我確實使用procmon過查看程序正在寫什麼……看起來它只是一堆沒有副檔名的二進製文件(DBI2612a05112),還有一個名為cf.lg

錯誤日誌C:\CCURE800\4gl\Database\Log\DriverErr0.000001.log產生一些結果,但沒有錯誤……像這樣:

[14/07/01@05:09:46.655-0400] P-001972 T-001976 1 4GL -- Log entry types activated: 4GLMessages
[14/07/10@05:01:34.542-0400] P-001972 T-001976 1 4GL -- Database CF was disconnected. (1015)
[14/07/10@05:02:55.627-0400] P-001148 T-001168 1 4GL -- Logging level set to = 2
[14/07/10@05:02:55.642-0400] P-001148 T-001168 1 4GL -- Log entry types activated: 4GLMessages

我什至嘗試使用 Squirrel SQL 連接到 DSNNAME Progress ODBC 驅動程序,但它表明連接未打開。所以不用說我在這一點上很困惑。有沒有人有使用這些舊系統的經驗來提供一些關於查詢這個系統的見解?

根據我對 ccure 800 的經驗,您確實需要將 MS Excel 和所有支持的 MS Office 組件安裝在與 ccure 管理客戶端相同的 PC 上。OCX 庫需要支持導出功能。

OCX 文件是 ActiveX 控制項的一部分。應用程序有問題,您需要致電供應商進行修復。

引用自:https://dba.stackexchange.com/questions/71182