即時工作在delphi 7應用程序與postgres 9作爲數據庫。 應用程序的工作方式有兩種,它可以遠程系統 在delphi中對遠程系統執行Postgres查詢時獲取本地系統路徑
上連接到
- Postgres數據庫在本地系統上
- Postgres的本地和遠程的Postgres數據庫將具有相同表的數量。
我們有模塊,我們使用
COPY
創建數據庫表的備份,並將結果寫入系統中的文件。 例如query1:='COPY (Select * from mytable where mycolumn in (2011406)) TO 'C:/Documents and Settings/All Users/Documents/drDir/myfile.bck' WITH BINARY'
Query_dmp_res.SQL.Clear; Query_dmp_res.SQL.Add(query1) ; Query_dmp_res.ExecSQL;
C:/Documents and Settings/All Users/Documents/drDir
是如果不是在本地系統上現有創建的路徑。由於上述查詢在本地系統上執行,並且
C:/Documents and Settings/All Users/Documents/drDir/
也存在 在使用本地系統時,此工作正常。但問題是,當我們連接到遠程系統。查詢
'COPY (Select * from mytable where mycolumn in (2011406)) TO 'C:/Documents and Settings/All Users/Documents/drDir/myfile.bck' WITH BINARY'
失敗爲/drDir/
在本地系統上,而不是在遠程系統上創建的路徑。但即使路徑
'C:/Documents and Settings/All Users/Documents/drDir/
在遠程系統上存在的文件/myfile.bck
在遠程系統上創建。任何一個可以告訴我如何
給我的系統的路徑,因此在執行查詢後的文件
/myfile.bck
是我的系統上創建的。 這是如何指定查詢'COPY (Select * from mytable where mycolumn in (2011406)) TO 'myLocalSystemPath/myfile.bck' WITH BINARY'
如何建立檔案查詢執行遠程系統上的目錄我的本地系統路徑。
我試圖改變路徑
'C:\Documents and Settings\All Users\Documents\drDir\
但我得到這個錯誤編輯 我試過
COPY(SELECT * FROM MYTABLE其中mycolumn在(2011406 ))要與STDOUT WITH BINARY 但如何獲得查詢的結果?
使用「TO STDOUT」時會發生什麼情況取決於您的程序使用的驅動程序。請檢查他們的文檔。 – 2012-02-09 07:27:45