請教下
PB8.0 能夠連接兩個ORACLE資料庫,兩個資料庫分別在不同的服務器上
一個通過 O84 Oracle8/8i (8.x.4+) 進行連接 (oracle版本為10g)
一個通過 ODBC 進行連接 (oracle 版本為 8)
我遇到的問題:
1.
我創建了一個window,里面放了兩個按鈕,cb_1,cb_2
cb_1 按鈕的clicked 事件里面輸入 第一種連接方式。
cb_2 按鈕的clicked 事件里面輸入 第二種連接方式。
如果我先按cb_1那么第一能連上,接著按cb_2第二連接不上。
如果我先按cb_2那么第二能連上,接著按cb_1第一連接不上。
2.
我創建兩個window,
window_1,里面使用第一種連接方式。
window_2,里面使用第二種連接方式。
若先打開window_1,第一種連接成功,再打開window_2,第二種連接成功。
若先打開window_2,第二種連接成功,再打開window_1,第一種連接失敗。
不知道怎么辦,求解,我想達到的效果是,正常情況下按第一種連接方式進行連接
需要做資料上傳,可以從第一種連接那里取出資料存盤到變數里,然后連接到第二
個oracle上,將資料上傳上去。上傳后,可以關閉第二個oracle連接,重新連接到
第一個oracle上。
uj5u.com熱心網友回復:
這樣啊?代碼放上來學習下?uj5u.com熱心網友回復:
創建兩個鏈接的事務吧。uj5u.com熱心網友回復:
再定義一個transaction物件就可以了,不要說兩個,你連幾十個幾百個都可以,只要機器性能跟得上記得定義其他事務的時候,執行SQL時要加using 事務物件;
uj5u.com熱心網友回復:
樓上正解,需要再定義一個trans,兩個連接不能都用sqlca。uj5u.com熱心網友回復:
使用sqlca直接連接oracle,另外再建一個事務連接ODBC,代碼如下
transaction sqlca_odbc
sqlca_odbc = create transaction
sqlca_odbc.dbms = 'ODBC'
sqlca_odbc.logid = sqlca.logid
sqlca_odbc.logpass = '****'
sqlca_odbc.servername = '*****'
sqlca_odbc.dbparm = ''
connect using sqlca_odbc;
if sqlca_odbc.sqlcode = 0 then
//
else
gnv_app.of_message('連接ODBC資料庫失敗,錯誤內容:' + sqlca_odbc.sqlerrtext)
return -1
end if
dw_1.settransobject(sqcal) //系結oracle連接的事務,然后再進行retrieve或者update即可
dw_2.settransobject(sqlca_odbc) //系結odbc連接的事務,然后再進行retrieve或者update即可
注意commit的時候,后面加事務物件,默認為sqlca。
如提交odbc連接的事務,需要用
commit using sqlca_obdc;
uj5u.com熱心網友回復:
同意樓上的,你想連多少個都沒問題轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/51117.html
標籤:數據庫相關
下一篇:十萬火急,小弟跪求!
