24周年

財(cái)稅實(shí)務(wù) 高薪就業(yè) 學(xué)歷教育
APP下載
APP下載新用戶掃碼下載
立享專屬優(yōu)惠
安卓版本:8.7.11 蘋果版本:8.7.11
開發(fā)者:北京正保會(huì)計(jì)科技有限公司
應(yīng)用涉及權(quán)限:查看權(quán)限>
APP隱私政策:查看政策>

大中型數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入中存在的部分問題及對(duì)策

來源: 編輯: 2005/12/16 09:37:59  字體:

  隨著計(jì)算機(jī)審計(jì)技術(shù)的不斷發(fā)展,數(shù)據(jù)導(dǎo)入技術(shù)的水平已躍上一個(gè)新的臺(tái)階,體現(xiàn)出快速、高效和通用的特點(diǎn)。但是伴隨審計(jì)對(duì)象的數(shù)據(jù)庫系統(tǒng)趨于集中性、大型性和異構(gòu)性,在一些實(shí)際工作中,已有的數(shù)據(jù)導(dǎo)入軟件并不能完全有效的導(dǎo)入數(shù)據(jù),本文針對(duì)一些數(shù)據(jù)導(dǎo)入過程中存在的問題進(jìn)行分析并提出處理的方法。

  一、利用數(shù)據(jù)庫特定數(shù)據(jù)導(dǎo)出工具

 ?。?)審計(jì)背景

  審計(jì)署南京辦在對(duì)某省農(nóng)村衛(wèi)生資金的調(diào)查中,在審計(jì)準(zhǔn)備階段,針對(duì)特定的審計(jì)目標(biāo),選取對(duì)審計(jì)實(shí)施過程中有用的數(shù)據(jù)表,來方便審計(jì)實(shí)施過程中數(shù)據(jù)的處理和分析。被審計(jì)單位的數(shù)據(jù)后臺(tái)環(huán)境是WINDOWS版本的ORACLE,前臺(tái)是用友8.0,數(shù)據(jù)量中等,由于所使用的審計(jì)數(shù)據(jù)采集軟件沒有對(duì)應(yīng)用友8.0的接口,并且客觀上也不允許直接連上后臺(tái)數(shù)據(jù)庫采集數(shù)據(jù),因此我們只能使用數(shù)據(jù)庫特定數(shù)據(jù)導(dǎo)出工具。

  (2)采集的過程與使用的技術(shù)方法

  為了減少數(shù)據(jù)采集過程中對(duì)被審計(jì)對(duì)象系統(tǒng)產(chǎn)生的風(fēng)險(xiǎn),我們使用了Oracle中的Spool緩沖池技術(shù),這種技術(shù)可以實(shí)現(xiàn)直接從后臺(tái)數(shù)據(jù)庫導(dǎo)出數(shù)據(jù),導(dǎo)出數(shù)據(jù)的格式為文本文件。我們通常按照以下步驟來使用這種技術(shù):

  1. 打開Oracle PL/SQL窗口,在其中輸入緩沖開始命令,并指定處理完輸出的路徑與文件名。

  2. 在命令行中輸入SQL查詢。

  3. 在命令行中輸入緩沖結(jié)果命令。

  我們可以參照一個(gè)范例來詳細(xì)介紹如何使用該技術(shù),例如我們要將Oracle數(shù)據(jù)庫中Customer表中所有的數(shù)據(jù)導(dǎo)入D盤的customer.txt中,我們可以采取以下步驟來實(shí)現(xiàn)我們的目的。

  1. spool D:customer.txt;

  2. Select * from Customer;

  3. Spool off;

  這樣系統(tǒng)就將執(zhí)行查詢進(jìn)入緩沖池中的結(jié)果都輸出到customer.txt文件中,文件的列分隔符為TAB鍵,行分隔符為回車換行,然后我們使用審計(jì)數(shù)據(jù)采集軟件中已成熟的文本文件導(dǎo)入工具可以很方便的導(dǎo)入customer.txt中的數(shù)據(jù)。

  二、自力更生開發(fā)數(shù)據(jù)清洗工具

 ?。?)審計(jì)背景

  審計(jì)署南京辦在對(duì)某商業(yè)銀行審計(jì)中,在審計(jì)準(zhǔn)備階段,針對(duì)特定的審計(jì)目標(biāo),分析銀行數(shù)據(jù)的特點(diǎn),選取對(duì)審計(jì)實(shí)施過程中有用的字段,方便審計(jì)實(shí)施過程中數(shù)據(jù)的處理和分析。面對(duì)銀行的大容量數(shù)據(jù),審計(jì)組決定將該銀行自行開發(fā)的CMS信貸管理信息系統(tǒng)和ABIS信息系統(tǒng)的后臺(tái)數(shù)據(jù),導(dǎo)入SQL Server數(shù)據(jù)庫進(jìn)行整理和分析。

 ?。?)出現(xiàn)的問題

  該商業(yè)銀行根據(jù)上級(jí)要求提供了TXT格式的WINRAR壓縮數(shù)據(jù)文件,審計(jì)組在本地機(jī)上進(jìn)行了解壓縮,然后導(dǎo)入SQL Server數(shù)據(jù)庫,在導(dǎo)入過程中,由于該商業(yè)銀行所使用的數(shù)據(jù)庫有兩套,分別是Sybase和DB2,相對(duì)應(yīng)的操作系統(tǒng)是AIX和AS400,機(jī)器架構(gòu)都不是x86的,所以提供的數(shù)據(jù)文件格式和分隔符都存在不規(guī)范的現(xiàn)象,給實(shí)際導(dǎo)入工作帶來了不小的難度。

  我們通常采用DTS和使用DTS技術(shù)的衍生工具來導(dǎo)入數(shù)據(jù)。DTS作為一個(gè)將文本文件高速裝載進(jìn)SQL Server數(shù)據(jù)庫中的工具,提供了一種圖形化的數(shù)據(jù)導(dǎo)入方式。但是我們發(fā)現(xiàn)在本次數(shù)據(jù)導(dǎo)入過程中,當(dāng)以雙引號(hào)為文本限定符,以逗號(hào)作為列分隔符,以回車換行作為行分隔符時(shí),某些大文本數(shù)據(jù)格式中有多余的換行或雙引號(hào)等字符,致使導(dǎo)入數(shù)據(jù)格式不正確,數(shù)據(jù)會(huì)在導(dǎo)入過程中出錯(cuò),一些出錯(cuò)的情況如下圖所示:圖1至圖4是一些出錯(cuò)的原因,圖5與圖6是導(dǎo)入數(shù)據(jù)過程中DTS產(chǎn)生的錯(cuò)誤。

  圖1 出現(xiàn)不合規(guī)雙引號(hào)

  圖2出現(xiàn)不合規(guī)換行符

  圖3出現(xiàn)不合規(guī)換頁符

  圖4出現(xiàn)不合規(guī)文本結(jié)束符

  圖5 格式不正確

  圖6 導(dǎo)入失敗

 ?。?)處理方法

  由于導(dǎo)入數(shù)據(jù)記錄數(shù)量很大,其中出錯(cuò)情況分布沒有規(guī)律并且數(shù)目也很多,如果采取手工替換的方式會(huì)極大的浪費(fèi)人力和時(shí)間,因此審計(jì)人員決定根據(jù)該銀行的數(shù)據(jù)特征,開發(fā)出適合該銀行數(shù)據(jù)特征的數(shù)據(jù)清洗工具ABCDCT.下面我們分步驟討論開發(fā)設(shè)計(jì)思路:

  1、指定源文件,并選取目標(biāo)文件。

  2、預(yù)讀文件,確定一行記錄中各文本限定符(即雙引號(hào))的具體位置,寫入位置數(shù)組,確定每行記錄的總字符數(shù)。

  3、從源文件中讀取一行字符串,程序掃描該字符串,如果發(fā)現(xiàn)有雙引號(hào)不在位置數(shù)組中,則該雙引號(hào)為非法的雙引號(hào),替換該雙引號(hào),并清除不合要求的字符,即回車符(0x0D)、換行符(0x0A)、分頁符(0x0C)、制表符(0x09)和文本結(jié)束字符(0x00),我們采取的可行辦法是將這些非法的字符用空格(0x20)來代替。

  4、將清洗完的字符串寫入目標(biāo)文件。

  軟件設(shè)計(jì)流程圖如下:

  圖7 流程圖

  (4)軟件運(yùn)行界面

  軟件運(yùn)行時(shí)的界面與顯示結(jié)果的界面如下圖所示。

  圖8 運(yùn)行界面圖

  圖9 運(yùn)行結(jié)果圖

 ?。?)結(jié)論

  審計(jì)人員通過使用ABCDCT只花費(fèi)了兩周就完成了以往手工糾錯(cuò)需一個(gè)多月時(shí)間完成的任務(wù),極大的提高了工作效率。但是在使用的過程中也發(fā)現(xiàn)存在一些不足:通用性不夠,只能清洗以雙引號(hào)為文本限定符,以逗號(hào)作為列分隔符,以回車換行作為行分隔符的文本文件;沒有使用多線程技術(shù)提升清洗的效率;由于設(shè)計(jì)時(shí)假定分隔符的位置是固定的,因此對(duì)字段不定長(zhǎng)的文本不能適用,這就需要在以上方面對(duì)軟件做進(jìn)一步的改進(jìn)。

  綜上所述,針對(duì)不同的審計(jì)數(shù)據(jù)環(huán)境,我們采用了兩種方法來完成數(shù)據(jù)導(dǎo)入的任務(wù),一種是利用已有的幾種技術(shù)結(jié)合起來的方法,一種是根據(jù)客觀實(shí)際的需要來自主解決的方法。我們可以看到,由于各部門信息化的程度和實(shí)施角度的差異,導(dǎo)致了數(shù)據(jù)環(huán)境也千變?nèi)f化,存儲(chǔ)方式的不同,平臺(tái)的異構(gòu)性,數(shù)據(jù)庫系統(tǒng)的差異,多種多樣,指望借助一種通用的方法來解決所有的數(shù)據(jù)導(dǎo)入問題是行不通的,就需要我們根據(jù)審計(jì)對(duì)象數(shù)據(jù)特點(diǎn),因地制宜的解決數(shù)據(jù)導(dǎo)入問題。

回到頂部
折疊
網(wǎng)站地圖

Copyright © 2000 - www.odtgfuq.cn All Rights Reserved. 北京正保會(huì)計(jì)科技有限公司 版權(quán)所有

京B2-20200959 京ICP備20012371號(hào)-7 出版物經(jīng)營(yíng)許可證 京公網(wǎng)安備 11010802044457號(hào)