全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4896
推到 Plurk!
推到 Facebook!

如何匯出古早dos電腦裡面的foxpro資料

答題得分者是:herbert2
oscarshih88
一般會員


發表:8
回覆:8
積分:3
註冊:2013-12-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2014-08-13 11:03:56 IP:113.196.xxx.xxx 訂閱
各位大大,
公司目前仍有一部電腦屬早期dos電腦;內部的作業環境為foxpro系統;因為要建置新系統,故需要舊電腦的foxpro資料庫資料;

我想請問大大們有沒有匯出foxpro的經驗;如何匯出.匯出的格式為何?

因為準備將舊資料匯出後再匯入oracle資料庫!煩請各位大大協助.謝謝!
------
Oscar
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2014-08-13 16:32:18 IP:60.248.xxx.xxx 訂閱
可以試著用 office裡的 access 把它們匯入。然後再從access到 oracle。
我不保證一定可以,但值得試一下。

===================引 用 oscarshih88 文 章===================
各位大大,
公司目前仍有一部電腦屬早期dos電腦;內部的作業環境為foxpro系統;因為要建置新系統,故需要舊電腦的foxpro資料庫資料;

我想請問大大們有沒有匯出foxpro的經驗;如何匯出.匯出的格式為何?

因為準備將舊資料匯出後再匯入oracle資料庫!煩請各位大大協助.謝謝!
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
oscarshih88
一般會員


發表:8
回覆:8
積分:3
註冊:2013-12-17

發送簡訊給我
#3 引用回覆 回覆 發表時間:2014-08-13 21:25:00 IP:114.38.xxx.xxx 訂閱
Aftcast大大,
感謝您的回覆!目前foxpro版本為2.5b版....您高估我了.我的問題是如何從dos電腦下指令export資料開始!

可否詳解!感恩!
------
Oscar
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2014-08-13 23:13:37 IP:118.169.xxx.xxx 未訂閱
建議你上網找比較快, foxpro 已做古好久了, 就算有心, 也沒有任何記憶存在, 實在很抱歉!
如果是dbase 還有些機會, 我很納悶
foxpro 後來讓微軟給扣下來了, 但 excel 仍然只支援 dbase3, 4 的格式支援, 並不支援foxpro檔案格式,
但我印象中, 很早以前, 曾有討論(不是ktop), 教導如何將 foxpro的檔案"檔頭"改為 dbase 3 格式, 讓excel 可以直接讀取!

===================引 用 oscarshih88 文 章===================
Aftcast大大,
感謝您的回覆!目前foxpro版本為2.5b版....您高估我了.我的問題是如何從dos電腦下指令export資料開始!

可否詳解!感恩!
aftcast
站務副站長


發表:81
回覆:1485
積分:1763
註冊:2002-11-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2014-08-14 01:27:49 IP:220.129.xxx.xxx 訂閱
你好,我是從dos 2版開始學習電腦的,所以dos我應該算非常熟。就我所知,想直接從dos下指令export到"現代化"的資料庫,應該是不太可行。我最近才import dos下的clipper 資料庫,也是用access來接。
我幫你查好你需要的步驟:
前題是,你把dos下的dbf檔copy到windows上。怎麼copy上來? 有許多種方式,若有這方面的問題,我們再討論。
當你把那些dbf檔放到windows上後,就使用 ms access 2003 或 2007 版來將之匯入access中。如下面網址的方式
http://support.microsoft.com/kb/824264/en-us
到了access資料庫上後,可用同樣的方法,但是用的是匯出至odbc (但你要裝oracle的odbc driver)

foxpro的driver很難找了,幫你找到如下,你需要安裝
http://download.microsoft.com/download/vfoxodbcdriver/Install/6.1/W9XNT4/EN-US/VFPODBC.msi

建議你在windows xp上搞這些事。若你在win7 64bit上搞,odbc還有driver都有分32位元的或64位元的。原則上,請用32位元的! 而控制台上的odbc設定是64bit的,所以不能在那裡設定。請用C:\Windows\SysWOW64\odbcad32.exe下的這個設定。

又,當你匯入又匯出後,db上的一些型別都可能會變化了,這需要自己調整。比如原來是int變成了double之類的。

我只能說,要從古老的db轉至現代db是一件複雜,難度高,又費時的一件不輕鬆事。要有心裡準備。
只能提供這些了,細節要靠你。


===================引 用 oscarshih88 文 章===================
Aftcast大大,
感謝您的回覆!目前foxpro版本為2.5b版....您高估我了.我的問題是如何從dos電腦下指令export資料開始!

可否詳解!感恩!
------


蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#6 引用回覆 回覆 發表時間:2014-08-14 13:03:32 IP:59.120.xxx.xxx 未訂閱
蕭大, 還真佛心來的! 
===================引 用 aftcast 文 章===================
你好,我是從dos 2版開始學習電腦的,所以dos我應該算非常熟。就我所知,想直接從dos下指令export到"現代化"的資料庫,應該是不太可行。我最近才import dos下的clipper 資料庫,也是用access來接。
我幫你查好你需要的步驟:
前題是,你把dos下的dbf檔copy到windows上。怎麼copy上來? 有許多種方式,若有這方面的問題,我們再討論。
當你把那些dbf檔放到windows上後,就使用 ms access 2003 或 2007 版來將之匯入access中。如下面網址的方式
http://support.microsoft.com/kb/824264/en-us
到了access資料庫上後,可用同樣的方法,但是用的是匯出至odbc (但你要裝oracle的odbc driver)

foxpro的driver很難找了,幫你找到如下,你需要安裝
http://download.microsoft.com/download/vfoxodbcdriver/Install/6.1/W9XNT4/EN-US/VFPODBC.msi


..
herbert2
尊榮會員


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2014-08-14 22:07:01 IP:202.39.xxx.xxx 訂閱
記憶裡, FoxPro 2.5b 的檔案格式應該就是 dBase III 的 *.DBF 格式, 被微軟買走後才漸改得不相容.

如果沒錯, 則 *.DBF 可以用 BCB 寫程式直接逐筆讀取 Record Data, 再轉成 SQL 指令
INSERT INTO () VALUES ();

轉換法為: 跳過檔頭, 從每筆 Record 的 Deleted Byte 讀取定長每筆資料, 依各欄長對應至 RDBMS Table
的 Column.
某些欄位值可能須要加工轉換, 某些欄位可能要丟棄, 可用 Text 檔給予控制指示.
也可於 dBase III 開檔, SET DELE ON 後 COPY ALL TO SDF, 再依上述原則,
逐列 (Line, Row, Record) 轉成 INSERT SQL 指令.

如有需要, 也可事先用 dBase III 做加工處理. dBase III 在 Win XP 及以前的 DOS Prompt 下, 除了
中文無法顯示、輸入及貼上, 其他操作都完全正常.
編輯記錄
herbert2 重新編輯於 2014-08-14 22:08:29, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#8 引用回覆 回覆 發表時間:2014-08-15 08:04:35 IP:118.160.xxx.xxx 未訂閱
以前用dbase十來年, 接觸delphi後, 一點一滴的還回去了, herbert2的 
set dele on 及 copy all to 應該就是這位網友要的啦!
轉成 txt後, 再利用windows程式讀入, 應該就不是很難的事了
===================引 用 herbert2 文 章===================
記憶裡, FoxPro 2.5b 的檔案格式應該就是 dBase III 的 *.DBF 格式, 被微軟買走後才漸改得不相容.

如果沒錯, 則 *.DBF 可以用 BCB 寫程式直接逐筆讀取 Record Data, 再轉成 SQL 指令
INSERT INTO () VALUES ();

轉換法為: 跳過檔頭, 從每筆 Record 的 Deleted Byte 讀取定長每筆資料, 依各欄長對應至 RDBMS Table
的 Column.
某些欄位值可能須要加工轉換, 某些欄位可能要丟棄, 可用 Text 檔給予控制指示.
也可於 dBase III 開檔, SET DELE ON 後 COPY ALL TO SDF, 再依上述原則,
逐列 (Line, Row, Record) 轉成 INSERT SQL 指令.

如有需要, 也可事先用 dBase III 做加工處理. dBase III 在 Win XP 及以前的 DOS Prompt 下, 除了
中文無法顯示、輸入及貼上, 其他操作都完全正常.
oscarshih88
一般會員


發表:8
回覆:8
積分:3
註冊:2013-12-17

發送簡訊給我
#9 引用回覆 回覆 發表時間:2014-08-15 14:59:59 IP:113.196.xxx.xxx 訂閱
Aftcast 大大,

真的太感謝您了!你說的部份有解決到我的問題.也讓我可以睡個好覺.感謝感謝!
------
Oscar
oscarshih88
一般會員


發表:8
回覆:8
積分:3
註冊:2013-12-17

發送簡訊給我
#10 引用回覆 回覆 發表時間:2014-08-15 15:03:54 IP:113.196.xxx.xxx 訂閱
也感謝版主跟herbert!真的長知識了!感恩
------
Oscar
sryang
尊榮會員


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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2014-08-15 18:35:47 IP:59.127.xxx.xxx 訂閱
dBase III 的檔案格式,用 BDE 來讀取剛剛好
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
系統時間:2024-11-23 18:01:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!