最近我們在對某單位進行財務收支審計獲取數據時,發現該單位使用的財務軟件后臺數據庫為InterBase數據庫,無法通過AO軟件中的模板完成導入。為能更好地應用計算機審計,提高審計效率,為今后能進一步分析和處理以InterBase為后臺數據庫的財務數據或業務數據,我們查詢了大量的理論資料及咨詢了包括金審工程服務網站、上級審計機關信息中心專家,經過無數次嘗試與失敗后,終于成功地進行了取數與轉換。回想這一過程,有苦惱、有興奮,更多的是欣慰,故形成此文,供更多的同仁們探討交流及學習。
首先,我們來了解一下InterBase數據庫:InterBase誕生。
于20世紀80年代,它提供了在單機或多用戶環境中的快速數據處理及共享的工具。應用面偏向于緊湊型應用(最小安裝包才1M多),每個數據庫以單獨的文件形式存儲。現行主要為InterBase5.6、6.5、7.0等版本,其中5.6版本是該單位財務軟件的后臺數據庫版本。該數據庫由于其緊湊型的特點,其自身提供的技術平臺功能十分有限,對數據的分析和轉換幾乎都要依賴于第三方軟件,加上全英文的操作界面,為審計人員設置了非常大的障礙。
其次,簡單介紹下ODBC數據源,即Open Database Connectivity,開放數據庫互連),是微軟公司為了協調各不同數據開發公司提供的統一的數據庫訪問標準API(應用程序編程接口),其強大的數據庫鏈接功能可以讓我們很好的在陌生數據庫與熟悉的數據庫之間建立數據接口,從而實現數據導入導出。需要提醒的是不同的數據庫ODBC調用時需要不同的ODBC驅動,這些驅動是由數據庫開發商根據API標準編制的。
現在我們的轉換工作可以開始了:
第一步,安裝調試InterBase。首先將被審計單位的InterBase數據庫文件“某公司賬套.GDB”拷貝到本地計算機上,設置路徑D:\\數據。安裝好InterBase5.6并測試數據是否連通。之后退出InterBase5.6,關閉所有有關InterBase的系統服務項后安裝InterBase6.5,再次測試數據是否連通。需要重點強調和說明的是:其一,不能夠在被審計單位的計算機上進行以上的操作,因為在同一計算機上安裝5.6、6.5版本后可能導致前臺財務軟件無法調用數據庫數據。其二,安裝5.6版本是因為InterBase數據庫版本系列中只有5.6版本(或更早)提供了有效的ODBC驅動(網絡上提供的很多ODBC驅動都是無效的)。最后,必須裝6.5版本是因為只有在6.5以上版本才能實現通過ODBC數據源與其他數據庫建立互連。
第二步,設置ODBC數據源。我們直接在D:\\數據路徑下新建一個文本文件,然后輸入以下內容:
[ODBC]
DRIVER=INTERSOLV InterBase ODBC Driver (*.gdb)
SERVER=
UID=SYSDBA
DB=
其中:“SERVER=”后面需要填寫的是本地計算機的名稱,“DB=”處需要填寫InterBase數據文件的絕對路徑:D:\\數據\\某公司賬套.gdb。然后將此文本文件更名為“InterBase數據源.dsn”。
第三步,數據轉換。在保證InterBase6.5運行正常,數據連通成功的條件下,運行SQL企業管理器,新建數據庫,使用SQL的數據導入導出功能,通過ODBC數據接口,已經可以完成數據的導出了(可能有三張表無法導出,但不影響結果),SQL數據庫中的導入導出操作就不具體表述了。
第四步,SQL中的表結構分析和數據處理。將數據表導入到SQL后,就可以進行數據分析了,通過一定的整理和分析后能夠導入AO現場審計實施系統里。由于可能涉及到產權等問題,此處只能略微提示幾個重要方面:一是余額表和憑證表中“科目代碼”字段是以科目代碼表中的“科目序號”為索引的,需要對余額表及憑證表中的科目代碼字段進行替換。參考語句:
Select <需要的字段名稱……> from
<需要替換的表名> a left join <科目代碼表>b
on a.<科目序號>=b.<科目序號>
二是科目余額表與憑證表里的會計年份和月份兩個字段是合并的,按照類似“200901”的文本格式保存,需要使用函數分割出年度和月份。參考語句:
Alter table <表名>
Add year char(8),month char(8)
Update <表名>
Set year=left(<字段名>,4),month=right(<字段名>,2)
三是在數據導入SQL時,“期初余額”、“借方發生額”等很多數值型字段存在很多空值,在導入AO時系統會提示導入函數出錯,無法完成導入。需要將空值字段替換為0。參考語句:
Update <表名>
Set <字段名稱>=0 where <宇段名稱> is 1
數據轉換是否成功是能否更好地應用計算機審計的前提要件,其重要性不言而喻。現實工作中,審計人員面對的是市面上幾十種財務軟件和近十種數據庫軟件,并且不同的軟件之間的結構、理論基礎以及編程語言自成體系、各不相同。這無疑是對審計人員的強大考驗。此次對InterBase數據庫數據的成功轉換,不但能增加對InterBase數據庫的了解與掌握能力,同時還能積累使用ODBC建立數據庫間鏈接的實際操作經驗,對今后的工作有很好的借鑒意義。(作者單位:宜春市審計局)