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

关于下载数据表到本地

尚未結案
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-03 16:53:55 IP:218.20.xxx.xxx 未訂閱
请教前辈,怎样将oracle中的table下载到本地来呢?
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-04 08:14:11 IP:220.134.xxx.xxx 未訂閱
看你是要用程式寫,或是用工具轉。 程式寫的話,要看你是BDE或是ADO的連結方式,要存成什麼樣的檔案。 工具的話,可以用Datapump、SQL Server的Enterprise Manager....。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-04 21:40:32 IP:218.19.xxx.xxx 未訂閱
hi,shinjie 如果我使用dbexpress连接方式访问数据库,用程式怎么实现,用工具又怎么实现呢?多多指教,谢谢!
shinjie
資深會員


發表:12
回覆:275
積分:287
註冊:2003-03-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-05 09:21:10 IP:220.134.xxx.xxx 未訂閱
程式的話,可以一筆一筆寫,或是用BatchMove,或是參考 http://www.delphibbs.com/delphibbs/dispq.asp?LID=1691966 工具:Datapump從Delphi6->Help->Delphi Tools->Data pump裡有說明 SQL Server的Enterprise Manager 也在Help裡面有說明 自已試看看才能找到最適合自已的方式。 ========================================= 程式有問題並不可怕,最怕是不知問題出在那 不知問題在那不可怕,更怕是不知如何問問題 寫程式要從最簡單的開始
------
我將在茫茫人海中尋訪我唯一之靈魂伴侶。
得之;我幸。不得;我命。
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-11-18 09:24:56 IP:218.19.xxx.xxx 未訂閱
hi,shinjie 我现在的目的是想从Oracle导数据到dbf,我按照http://www.delphibbs.com/delphibbs/dispq.asp?LID=1691966 里面的方法用Oracle--->TXT来测试,可是总是不能成功 我设置ADOConnectin1的Provider为 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\temp;Extended Properties="text;HDR=YES;";Persist Security Info=False 然后: procedure TForm1.BitBtn1Click(Sender: TObject); begin self.ADOConnection1.Connected:=true; self.ADOConnection1.Execute('SELECT * into tran.txt FROM EMGT.TRANBEA IN [ODBC][ODBC;Driver={Microsoft ODBC for Oracle};UID=em;PWD=oc;SERVER=10.127.21.17(假设);DataBase=SIHDB3;]'); end; 运行之后总是提示我:'ODBC--连接到{Microsoft ODBC for Oracle}10.127.21.17失败‘,可是这个连接本身是可以的,是不是我的语句写法有问题?还是其他什么原因?请指教! 急。。。。。 谢谢!
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-11-18 15:54:01 IP:210.65.xxx.xxx 未訂閱
Sorry !! 插一下花。    若只是單純的將資料保存在前端,倒是可以考慮使用 ClientDataSet1 ADOConnection --> ADOTable(ADOQuery) --> DataSetProvider --> ClientDataSet --> DataSource    並且運用 ClientDataSet.SaveToFile & ClientDataSet.LoadFromFile 方法進行存檔與讀檔動作
procedure TForm1.Button1Click(Sender: TObject);
begin
  ClientDataSet1.Close;
  ClientDataSet1.Open; // 從資料庫讀取資料
  ClientDataSet1.SaveToFile('C:\xxx.xml',dfXML); //將從資料庫取得資料寫入檔案中
  ClientDataSet1.Close;
end;    procedure TForm1.Button2Click(Sender: TObject);
begin
  ClientDataSet1.Close;
  ClientDataSet1.LoadFromFile('C:\xxx.xml');//從檔案中將資料讀回到 ClientDataSet 中
end;
個人淺見! ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-12-01 19:09:59 IP:218.20.xxx.xxx 未訂閱
hi,Fishman 你的方法很简单,我现在这样用: DM.SQLQuery1.Close; DM.ClientDataSet4.Close; DM.SQLQuery1.Open; DM.ClientDataSet4.Open; DM.ClientDataSet4.SaveToFile('C:/tranbea.dbf'); DM.ClientDataSet4.Close; 但是得到的tranbea.dbf里面的内容很乱,还有乱码!怎么办? 顺便问一下ClientDataSet1.SaveToFile('C:\xxx.xml',dfXML)中的dfXML为什么识别不了,是不是要在uses里面加上什么引用?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-12-02 08:23:03 IP:210.65.xxx.xxx 未訂閱
Hi liangzai,
1.Help 中的說明大致如下:    

SaveToFile method (TCustomClientDataSet)

TCustomClientDataSet Delphi syntax: procedure SaveToFile(const FileName: string = ''; Format TDataPacketFormat=dfBinary); Description Call SaveToFile to write a client dataset’s data to an external file for later use by this or other client datasets. FileName is the name of the external file to use. If the file already exists, its current contents are overwritten. If an empty string is passed for the FileName parameter (or, in Delphi, if this parameter is omitted), the data is saved to the file specified by the FileName property. Format indicates what format to use when saving the data, binary (dfBinary) or XML (dfXML), or UTF8-based XML (dfXMLUTF8).

TDataPacketFormat type

TDataPacketFormat indicates how information is encoded in a data packet or delta packet. Unit DBClient Delphi syntax: type TDataPacketFormat = (dfBinary, dfXML, dfXMLUTF8); C syntax: enum TDataPacketFormat {dfBinary, dfXML, dfXMLUTF8}; Description TDataPacketFormat indicates how a provider encodes database information into data packets. The following table lists the possible values: Value Meaning dfBinary Information is encoded in binary format. dfXML Information is encoded in XML, with extended characters encoded using an escape sequence. dfXMLUTF8 Information is encoded in XML, with extended characters represented using UTF8. 若是未指定型別,則以 Binary 的型態儲存,自然會有亂碼產生。 2.必須 uses DBClient
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-12-02 16:18:44 IP:218.20.xxx.xxx 未訂閱
hi,fishman 谢谢指教!我发现生成的dbf文件中的数据如下:    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  <METADATA><FIELDS></METADATA><ROWDATA>
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-12-02 16:32:07 IP:218.20.xxx.xxx 未訂閱
DBF中的数据: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>  <METADATA><FIELDS></METADATA><ROWDATA>
kgt
高階會員


發表:17
回覆:308
積分:165
註冊:2002-03-13

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-12-02 22:31:34 IP:61.219.xxx.xxx 未訂閱
hi,liangzai: 我建議直接用Datapump-->開始-->程式集-->Borland Delphi6-->Datapump, step by step,很快就有解了。
系統時間:2025-02-27 9:36:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!