現在有個問題,有一個本機資料庫A,A資料庫存放一些配置資訊,登陸資訊。還有一個服務器上的資料庫B,是用于存放資料。
現在我登陸時連接是本地資料庫A,更具相關資訊分配業務模塊。有一個程式C需要從資料庫B中撈取資料,修改后保存傳回資料庫B,請問應該怎么做?有沒有相關的代碼參考下。
PS:我不能將A庫中相關表移到B庫中,請幫忙解決一下。
uj5u.com熱心網友回復:
就是定義兩個連接事務物件(transaction)啊,然后分別設定,分別進行連接,就可以了。uj5u.com熱心網友回復:
具體點呀,具體點,
代碼呢~
uj5u.com熱心網友回復:
// Profile sqlca 這個是pb默認的一個全域事務物件SQLCA.DBMS = "ADO.Net"
SQLCA.LogPass = "admin"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = "Namespace='System.Data.SqlClient',DataSource='TM-FEBD7A033E7A\GSQL',Database='master'"
connect;
if sqlca.sqlcode = -1 then
messagebox("error","db a connect faild!",StopSign!)
halt
end if
// Profile sqlca_b 這個可以在pb的全域變數里定義一下 transcation SQLCA_b
SQLCA_b.DBMS = "ADO.Net"
SQLCA_b.LogPass = "admin"
SQLCA_b.LogId = "sa"
SQLCA_b.AutoCommit = False
SQLCA_b.DBParm = "Namespace='System.Data.SqlClient',DataSource='TM-FEBD7A033E7A\GSQL',Database=B"
connect using SQLCA_b; //如果不是默認的事務物件,必須用using 制定,以后寫sql時都要注意
if sqlca_b.sqlcode = -1 then
messagebox("error","db b connect faild!",StopSign!)
halt
end if
uj5u.com熱心網友回復:
在SQLCA_b.DBMS = "ADO.Net"這一步時提示出錯,no object reference,
我使用的是ODBC的鏈接,即SQLCA_b.DBMS = "ODBC",服務器不是本機上的
uj5u.com熱心網友回復:
使用的是什么資料庫uj5u.com熱心網友回復:
你的圣龍頭像不錯,1000hp,50 AD么?
sql sever 2000
uj5u.com熱心網友回復:
呵呵,是的哦。
用下面的2個事物分別連接2個資料庫,把防火墻等影響遠程連接的東西關掉
SQLCA.DBMS = "MSS Microsoft SQL Server 6.x"
SQLCA.Database = "資料庫名"
SQLCA.ServerName = "資料庫IP"
SQLCA.LogId = "sa"
SQLCA.AutoCommit = false
SQLCA.DBParm = ""
Connect;
IF Sqlca.SqlCode <> 0 THEN
MessageBox( '', '連接失敗' + Sqlca.SqlErrText )
RETURN
END IF
// Profile sqlca_b 這個可以在pb的全域變數里定義一下 transcation SQLCA_b
sqlca_b.DBMS = "MSS Microsoft SQL Server 6.x"
sqlca_b.Database = "資料庫名"
sqlca_b.ServerName = "資料庫IP"
sqlca_b.LogId = "sa"
sqlca_b.AutoCommit = false
sqlca_b.DBParm = ""
Connect Using sqlca_b;
IF sqlca_b.SqlCode <> 0 THEN
MessageBox( '', '連接失敗' + sqlca_b.SqlErrText )
RETURN
END IF
uj5u.com熱心網友回復:
我這里沒有MSS Microsoft SQL Server 6.x
所以我才用的odbc
uj5u.com熱心網友回復:
3#是正確的,我一開始沒有連接到,是因為我沒有創建資料通道,也就是沒有寫 sqlca_b = create transaction這句話,所以出錯的。
現在還有個另外的問題是我在pb 10 中run frame出現程式后,退出程式,再次run frame,就不能連接到資料庫了,這可能是什么原因呢?
連接失敗:
SQLState:‘01000’
SQL server錯誤:‘10093’
uj5u.com熱心網友回復:
頂下,問問,是不是什么沒有斷開了??我總共就2個transaction,2個ds。uj5u.com熱心網友回復:
思路實際上就是再定義一個Transaction物件變數,至于這個變數用不用Create我已經記不清了,你在幫助中查一下Transaction類的相關資料。然后,通過定義好的變數你就可以像使用SQLCA一樣使用它,但是在使用程序中需要顯示使用using關鍵字,否則默認使用SQLCA事務物件。uj5u.com熱心網友回復:
你操作了資料庫B上的資料后,是不是沒有再
disconnect using sqlca_b;
connect using sqlca;
你看看是不是這里沒寫完
uj5u.com熱心網友回復:
我直接寫在application 的close事件中:
disconnect using sqlca;
disconnect using sqlca_b;
destroy(sqlca)
destroy(sqlca_b)
uj5u.com熱心網友回復:
你把sqlca都disconnect了 那怎么能連上資料庫呢?uj5u.com熱心網友回復:
是個關掉程式的時候disconnect的呀,
難道一直connect呀??
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/80664.html
標籤:數據庫相關
上一篇:up
下一篇:急求解pb資料庫操作
