線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5426
推到 Plurk!
推到 Facebook!

DOS中的DBASE資料有辦法轉出來嗎?

答題得分者是:sryang
jck11
一般會員


發表:6
回覆:3
積分:1
註冊:2006-09-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-18 12:58:50 IP:61.219.xxx.xxx 訂閱
有台老舊的機器上裝了DOS作業系統
資料庫使用了DBASE
請教先進門有辦法將資料轉到ACCESS或SQL Server嗎
是否有匯出的指令或其它方法
謝謝
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-18 13:55:37 IP:211.72.xxx.xxx 訂閱
DBF 檔實為有 Head 段之 Text 檔, 用 UltraEdit 便可開啟.
檔案之 Structure, 可從 Head 段窺知:
首 32 Bytes 為 DBF 識別、修改日期、總筆數、錄長等資訊,
其後為各欄定義, 每欄 32 Bytes; 然後以 0Dh 或 0Dh 00h 結束檔頭, 其後便是資料錄.

將 Head 段刪除後, 每一筆 Record 首 Btye 為刪除 "*" 或非刪除 " ";
緊接著便是定長的各欄資料 (日期為 mmddyy, 數值為靠右文字).

並無簡單方法將 DBF 轉入 Access 或 SQL Server;
但先將 DBF 檔轉成 Text 檔, 便可由 Access 或 SQL Server 將 Text 檔轉入.
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-01-18 22:38:07 IP:124.10.xxx.xxx 訂閱
dBase 的 DBF 檔,可以使用 Jet 4.0 開啟
可以在 SQL Server 的管理工具中這樣下:(假設你的 DBF 檔是 C:\DBF
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=server_name.database_name.schema_name.table_name 四部份名稱中間的那三個點
如果SQL 2005/2008 出現「SQL Server 已封鎖元件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 之存取」這樣的錯誤訊息
請先到「SQL Server 介面區組態」==> 「功能的介面區組態」==>「特定遠端查詢」去開啟「啟用 OPENROWSET 與 OPENDATASOURCE」支援
之後再執行就可以了

能夠 SELECT 了之後,接下來你應該就會處理了

------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
編輯記錄
sryang 重新編輯於 2010-01-18 22:40:00, 註解 無‧
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-01-20 15:39:02 IP:60.249.xxx.xxx 未訂閱
使用Table開啟, 例如
Table1.TableName:='C:\DOSDBF\DB1991.dbf';
Table1.Open; // 99.1.20
------
What do we live for if not to make life less difficult for each other?
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-01-20 20:47:27 IP:114.46.xxx.xxx 未訂閱
不是有免費的工具軟體 dbf2mysql
拜請一下古狗大神就有了呀.
系統時間:2024-04-26 8:31:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!