如題,本機上安裝了兩個oracle8客戶端(后面分別稱呼為client1和client2),client1是英文字符集,client2是中文字符集,PB始終都是默認到client1的組態檔路徑去搜索連接資訊,這就造成連接client2失敗,有什么方法可以同時連接兩個不同oracle資料庫的方法?
補充:我試著把client2安裝成oracle9客戶端,結果也是一樣的
uj5u.com熱心網友回復:
我倒! 還有PB的堅持者!PB只有1個默認的事務物件
應用物件與資料庫連接的專門物件,應用程式只與一個資料庫有連接時,直接使用SQLCA作為事務物件就可以了,只有當應用程式與多個資料庫連接時,才需要創建自己的事務物件。事務物件不可見,常駐記憶體,
powerbuilder 與資料庫通信的步驟如下:
1. 設定事務物件的屬性值
2. 與資料庫建立連接
3. 執行所需的資料庫操作
4. 斷開與資料庫的連接
其中,事務物件的屬性,共15個,其中前10個使用來連接資料庫的,后5個是用來回傳資料庫操作狀態 ( 用來連接的屬性,每種介面屬性不同,例如ODBC,等等,具體參看P74頁 ) , 后5個屬性比較重要的有 SQLCode( 0, –1, 100) SQLNRows( 最后一次操作所影響的行數 ) SQLDBCode ( 由資料庫提供的錯誤代碼 ) SQLErrText( 錯誤文本 ) SQLReturnData ( 附加資訊 )
創建自己的事務物件 ( 多個資料庫, 一般不用 )
Transaction my_trans ( 要注意變數說明的位置,決定了變數的作用域 ) ( 注意:這只是一個指標 )
my_trans = Create transaction
Destory my_transaction ( 不用時要釋放記憶體 )
uj5u.com熱心網友回復:
老系統需要維護呀,你說的只是自己創建事務物件,不能解決我的問題
uj5u.com熱心網友回復:
這樣試試,用odbcuj5u.com熱心網友回復:
應該是可以的,但是客戶端太多了,懶得去配置或者寫代碼配置了,而且不知道用odbc連接會不會有什么問題
uj5u.com熱心網友回復:
貌似ODBC也不能解決問題因為程式安"就近"去找環境
你2個客戶端,有2個SQLPLUS.EXE,它們按自己的路徑優先,找到了組態檔
而pb.exe只能找系統中的環境變數,并使用"最近"的
uj5u.com熱心網友回復:
難道又是一個無解的問題uj5u.com熱心網友回復:
我要遇見這個問題 就寫幾個批處理,批處理里設定環境變數
每次使用前先點對應的.BAT,再打開PB
下1個要先關閉PB,再點對應的BAT,否則pb不會認新的環境變數
你哪個這么麻煩嗎?
不如干脆直接用 SQLPLUS.exe
uj5u.com熱心網友回復:
剛才測驗了,有設定環境變數的API,可以隨時修改環境變數,這樣就可以了,我再測驗下有其他問題沒有。我就是用你說的這樣方式來打開PLSQL的,不然每次都要去設定字符集。但是程式不能這樣操作,因為操作是成組的,必須把他們控制在一個大的事務中
uj5u.com熱心網友回復:
兩個連接不能用同樣的機制,建議一個使用ODBC,另一個使用直連uj5u.com熱心網友回復:
創建兩個鏈接事物可以吧uj5u.com熱心網友回復:
client1是英文字符集,client2是中文字符集, 為什么兩個字符集啊uj5u.com熱心網友回復:
就安裝一個oracle客戶端,配置多個不同的監聽,在配置PB連接字串(ODBC)時配置各自的字符集。uj5u.com熱心網友回復:
兩個資料庫的字符集就不一樣,所以只能用兩個不同字符的客戶端去連
uj5u.com熱心網友回復:
用ODBC倒是可以解決,但是就是不知道用ODBC連接資料庫有什么問題沒有,一直都是通過客戶端直連的
uj5u.com熱心網友回復:
odbc 問題應該不大,只不過效率能差些,不如資料庫直連一個資料庫直連,一個用odbc
uj5u.com熱心網友回復:
必須兩種方式,因為默認ora_home一臺pc上只有一個轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/24727.html
標籤:數據庫相關
