互换娇妻爽文100系列电影,张娜拉自曝3年300多次,人妻洗澡被强公日日澡电影,妖精漫画免费登录页面入口大全

財會電算化:用友U8備份文件

2014-6-6 13:44:04中國會計網字體:

  三、解決辦法

  要實現批量導入,必須編寫程序,實現上述分析過程中的解壓、添加備份設備、還原數據庫、抽取數據等步驟。我們首先對每一個關鍵步驟給出相應的解決辦法,最后再給出一個總體的流程。

  文件解壓;利用Win32的API:ShellExecuteEx,調用WinRar將壓縮文件解壓到指定的臨時文件夾下,并得到解壓程序的句柄(前提是已經安裝了WinRar軟件)。其中要用到SHELLEXECUTEINFO這個結構,用來指定WinRar的路徑以及相應的解壓參數。具體可以查閱Win32 API幫助。

  添加設備;利用SQL Server 2000的存儲過程sp_addumpdevice添加設備文件。

  還原數據庫;利用SQL Server 2000的命令Restore DATABASE,從設備中的備份還原數據庫。另外,查看備份文設備中的備份數據庫信息可以使用命令:RESTORE HEADERONLY.

  刪除備份設備;可以使用存儲過程:sp_dropdevice.詳細信息可以查閱SQL Server 2000的幫助文檔。

  接下來我們就給出批量導入用友8.51備份文件的主要流程:

  定義SHELLEXECUTEINFO類型的變量:SI

  指定SI的相關參數:動作為“Open”、文件為WinRar的執行文件(指定長文件名)

  對每個備份文件UFDATA.BA_,循環處理(循環1)

  得到文件路徑和文件名,以及某些賬套信息(公司、年份等等)

  指定SI的參數為:x sFile *.* sTemp

  (注:sFile為備份文件的長文件名,sTemp為一個臨時文件夾)

  調用:ShellExecuteEx SI

  獲取SI的狀態直到它執行完畢

  在數據庫服務器上執行:sp_addumpdevice disk,U8Back,physical_name

  (注:U8Back為我們為設備取的名,physical_name為解壓后得到的UFDATA文件的長文件名)

  執行:RESTORE HEADERONLY From U8Back,得到設備中的備份列表記錄集

  (注:一條記錄對應于一個備份)

  對備份列表記錄集的每條記錄,循環處理(循環2)

  根據列表記錄集中的內容,得到數據庫的某些信息(如賬套年份)

  Restore DATABASE UF8 From U8Back with File=file_number,Move Ufmodel

  To DataFile,MOVE Ufmodel_LOG TO LogFile, replace

  (注:file_number為從備份列表記錄集中得到的要還原的備份集編號,DataFile與LogFile分別為還原后數據文件與日志文件的長文件名)

  抽取數據庫中相應的數據

  (注:如果把多個賬套數據合并到一起,需要根據前面得到的賬套信息將數據進行區分,例如:將各表加入賬套的年份、公司、地區等字段或是能區分各賬套的一個關鍵字字段進行區分)

  結束循環1

  在數據庫服務器上執行:sp_dropdevice U8Back,刪除設備

  結束循環2

  善后工作,如刪除臨時文件等

  四、結束語

  本文是作者的一次實際經歷的總結。在一次企業審計中,審計人員拿到了一百六十多個備份文件,并且任務要求將這些賬套中的有關數據進行合并,以便分析。最后我們以本文所述辦法進行處理,代碼寫完后,用了不到一個晚上的時間,就將所有賬套處理完成。

上一頁  [1] [2] 

責任編輯:初曉微茫

網課招生方案

  • 名師編寫權威專業
  • 針對性強覆蓋面廣
  • 解答詳細質量可靠
  • 一書在手輕松過關
掃一掃 微信關注東奧
主站蜘蛛池模板: 抚顺县| 邵阳市| 孝义市| 渑池县| 全州县| 潞城市| 宁德市| 蒲城县| 托里县| 义乌市| 普陀区| 瓦房店市| 临沂市| 宣城市| 四子王旗| 忻州市| 隆尧县| 莎车县| 灵宝市| 微博| 阿勒泰市| 宝鸡市| 巩义市| 黑山县| 乌鲁木齐县| 中宁县| 峨眉山市| 长垣县| 林口县| 祥云县| 汝城县| 土默特右旗| 金门县| 台前县| 韩城市| 灵石县| 黔西县| 高平市| 高密市| 巧家县| 固阳县|