• <sup id="azsug"></sup>

    <menu id="azsug"></menu><dfn id="azsug"><li id="azsug"></li></dfn>
      <td id="azsug"></td>
      <sup id="azsug"></sup>
    1. 丰满无码人妻热妇无码区,亚洲国产欧美一区二区好看电影,大地资源中文第二页日本,亚洲色大成网站WWW永久麻豆,中文字幕乱码一区二区免费,欧美人妻在线一区二区,草裙社区精品视频播放,精品日韩人妻中文字幕
      24周年

      財稅實務 高薪就業 學歷教育
      APP下載
      APP下載新用戶掃碼下載
      立享專屬優惠

      安卓版本:8.8.30 蘋果版本:8.8.30

      開發者:北京正保會計科技有限公司

      應用涉及權限:查看權限>

      APP隱私政策:查看政策>

      HD版本上線:點擊下載>

      用友U8備份文件淺析

      來源: 編輯: 2008/12/14 08:51:44  字體:

      選課中心

      實務會員買一送一

      選課中心

      資料專區

      需要的都在這里

      資料專區

      課程試聽

      搶先體驗

      課程試聽

      高薪就業

      從零基礎到經理

      高薪就業
        一、引言

        用友財務軟件是目前國內財務領域中使用得最廣泛的一種,審計署下發的AO軟件中,就可以直接導入用友多個版本的數據,給審計人員帶來極大的方便。但有時審計人員會面對幾十甚至上百個帳套,如果逐個處理,未免費時費力。本文針對用友8.51的一個備份文件作一點分析,對其中各關鍵步驟給出一個程序處理的辦法,最后給出一個解決用友8.51備份文件批量導入的流程。一點粗淺想法,拋磚引玉,同時也希望能給大家一點啟示。

        二、分析過程

        用友8.51在備份的時候,一般會產生兩個文件:UFDATA.BA_和UfErpYer.Lst.其中UfErpYer.Lst比較小,不到1K,而UFDATA.BA_通常比較大。由此,我們判斷,財務數據應該在UFDATA.BA_中。

        我們用UltraEdit軟件打開UfErpYer.Lst文件,發現它其實就是一個文本文件,保存著備份相關的一些信息,如軟件版本、備份日期、帳套年度、文件路徑等。而打開UFDATA.BA_文件時,我們發現是一堆亂碼,甚至找不到常見的一些文件頭的信息。因此我們初步判斷它有可能是壓縮過的文件。而且,從常理講,考慮到磁盤空間的問題,數據文件備份的時候通常也會壓縮處理。

        嘗試用WinRar打開UFDATA.BA_,成功。解壓后,得到一個文件:UFDATA.文件沒有后綴名,因此我們還是先用UltraEdit打開。在文件頭部,我們看到有“TAPE”、“Microsoft SQL Server”等字樣,因此我們初步判斷它跟SQL Server有關。

        根據以上思路,我們反過來比較,查看SQL Server數據庫的各種文件的頭部,看是否有與UFDATA 文件頭相似的文件。SQL Server數據庫中,與數據相關的文件,我們平時接觸比較多的主要有數據文件和備份設備文件。新建一個空的數據庫,用UltraEdit查看它的數據文件的頭部,未發現相關字樣,而創建一個備份設備后,查看該文件的頭部,正好跟UFDATA文件的頭部是一樣的。因此我們初步判定UFDATA文件為SQL Server數據庫的備份設備文件。并且,我們知道TAPE是磁帶的意思,而SQL Server中跟磁帶相關的通常與數據庫的備份有關系。

        接下來我們就分析UFDATA文件中的內容。打開SQL Server的企業管理器,新建一個備份設備,并將文件名指定我我們解壓后得到的UFDATA文件。確定后,查看新建立備份設備的內容,發現它其實是一個(或多個)數據庫的完全備份。將它還原后,我們可以看到,這是用友的一個帳套數據庫。

        對一個本地的數據庫,我們就可以根據自己的需要,進行相關的查詢和操作了。到此為止,我們其實已經完成了將一個用友U8.51的備份文件轉換成我們可操作數據庫的過程。但如果僅僅如此,那么本文其實是沒有什么意義的,因為這個步驟我們可以很容易地利用AO軟件來實現。

        在實際工作中,我們遇到的往往不是單個的帳套。由于很多企業有很多獨立核算的分公司,并且每個公司每年都要建一套帳,因此,我們面對的往往是十幾個、幾十個帳套,有時甚至會面對上百個帳套,而AO中又沒有提供批量導入的辦法,如果一個一個導入的話效率太低。基于這種情況,本文就利用上述分析的結果,給出一個解決的辦法,能讓我們批量導入用友的備份數據。

        三、解決辦法

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

        文件解壓;利用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

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

        四、結束語

        本文是作者的一次實際經歷的總結。在一次企業審計中,審計人員拿到了一百六十多個備份文件,并且任務要求將這些帳套中的有關數據進行合并,以便分析。最后我們以本文所述辦法進行處理,代碼寫完后,用了不到一個晚上的時間,就將所有帳套處理完成。想法比較粗淺,做法也比較簡單,在這里總結一下,也希望大家批評與指點。

      學員討論(0

      實務學習指南

      回到頂部
      折疊
      網站地圖

      Copyright © 2000 - www.sgjweuf.cn All Rights Reserved. 北京正保會計科技有限公司 版權所有

      京B2-20200959 京ICP備20012371號-7 出版物經營許可證 京公網安備 11010802044457號

      恭喜你!獲得專屬大額券!

      套餐D大額券

      去使用
      主站蜘蛛池模板: 西城区| 精品亚洲男人一区二区三区| 亚洲一区二区三区影院| 日韩精品亚洲专在线电影| 日韩精品不卡一区二区三区| 精品久久久久久无码免费| 免费看一区无码无a片www| 亚洲精品视频免费| 少妇爽到呻吟的视频| 中文字幕日韩精品人妻| 日本丰满护士bbw| 老鸭窝在线视频| 搡老熟女老女人一区二区| 国内自拍小视频在线看| 国产成人AV一区二区三区在线 | 亚洲男人av天堂久久资源| 国产午夜91福利一区二区| 国产精品熟妇视频国产偷人| 又湿又紧又大又爽A视频男| 色一情一乱一伦麻豆| 久久亚洲av综合悠悠色| 茄子视频国产在线观看| 国产一区二区不卡在线视频| 精品在线观看视频二区| 日韩一区二区三区av在线| 欧美亚洲综合成人A∨在线| 精品人妻一区二区三区蜜臀 | 在线涩涩免费观看国产精品| 国产成人精品亚洲精品密奴| 一区二区三区无码高清视频| 免费国产拍久久受拍久久| 日日猛噜噜狠狠扒开双腿小说| 一区二区亚洲人妻av| 人妻有码中文字幕在线| 中文字幕无码成人免费视频| 亚洲国产一区二区在线| 午夜福利电影| 成人无码影片精品久久久| 色国产视频| 成人三级视频在线观看不卡| 亚洲日产韩国一二三四区|