[英]PowerBuilder DSN Creation
我是PowerBuilder的新手。
我想從MSAccess表中檢索數據並將其更新為相應的SQL表。 我無法為MSAccess創建永久的DSN,因為我必須選擇具有相同表信息的不同MSAccess文件。 我可以為SQL Server創建永久的DSN。
選擇MSAccess文件時,請幫助我動態創建DSN,並使用PowerBuilder將所有表數據推入SQL。
如果可能,還提供完整的PowerBuilder代碼以完成問題。
在Access中,我們強烈建議完全不使用DSN,因為對於某人而言,這是一件很簡單的事情,而對於用戶來說,則不那么麻煩了。 使用DSN-Less連接您應該查看PowerBuilder是否具有類似的選項。
RegistrySet ( key, valuename, valuetype, value )
將其寫回到注冊表中 設置好DSN后,可以使用許多選項將數據從一個數據庫推送到另一個數據庫。
您將在PB中需要兩個transaction
對象,每個transaction
對象都指向其自己的數據庫。 然后,您可以使用Data Pipeline
對象來管理實際的數據傳輸。
您要執行Tony引用的DSNLess連接。 我在PBDJ上展示了這樣做的示例,並在Sybase的CodeXchange上提供了代碼示例。
我正在使用此代碼,請嘗試!
//// Profile access databases accdb format
SQLCA.DBMS = "OLE DB"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='Microsoft.ACE.OLEDB.12.0',DATASOURCE='C:\databasename.accdb',DelimitIdentifier='No',CommitOnDisconnect='No'"
Connect using SQLCA;
If SQLCA.SQLCode = 0 Then
Open ( w_rsre_frame )
else
MessageBox ("Cannot Connect to Database", SQLCA.SQLErrText )
End If
要么
//// Profile access databases mdb format
transaction aTrx
long resu
string database
database = "C:\databasename.mdb"
aTrx = create transaction
aTrx.DBMS = "OLE DB"
aTrx.AutoCommit = True
aTrx.DBParm = "PROVIDER='Microsoft.Jet.OLEDB.4.0',DATASOURCE='"+database+"',PBMaxBlobSize=100000,StaticBind='No',PBNoCatalog='YES'"
connect using aTrx ;
if atrx.sqldbcode = 0 then
messagebox("","Connection success to database")
else
messagebox("Error code: "+string(atrx.sqlcode),atrx.sqlerrtext+ " DB Code Error: "+string(atrx.sqldbcode))
end if
// do stuff...
destroy atrx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.