PB如何連線Oracle資料庫

  如果你已經是個powerbuilder高手,那么下面的東西對你來說毫無價值,你大可不必再看下去,如果你剛剛步入powerbuilder的殿堂,那么下面的東西對你來說可能有點價值,你應該看一看。

作為一個優秀的客戶端開發工具,powerbuilder必然需要與大型的資料庫相連線,儘管許多資料上都介紹了如何通過odbc或者powerbuilder自帶的db profile或者專用接口連線上資料庫,但仍然有許多使用者按此方法卻無法連線上資料庫,這方面的原因可能是powerbuilder本身的原因,比如在安裝powerbuilder時的選項、odbc的版本之類;也可能是在安裝客戶端的oracle、sybase、informix、sql server等軟體上的問題,下面就從最根本的odbc配置開始,教你一步步如何連線上資料庫。 odbc數據源的配置

進入控制臺,打開odbc數據源(32位),如圖1所示,點擊“add”按鈕,進入odbc數據源的配置面板,如圖2所示:

選擇“oracle odbc driver”一項,注意當前版本號為“8.00.0400”,如果你的作業系統中安裝的是oracle7,則相應的版本號會不同。提醒一點:在windows98作業系統上是無法安裝oracle8.0.4的(只能安裝oracle7.2.3),oracle8.0.5則沒有試過。因而會有一些使用者在windows98系統上無法正常配置odbc數據源,因為windows98本身自帶的odbc數據源已經比oracle7數據源版本要高,無論你怎樣配置odbc,系統總會提示你要安裝一個更高版本的oracle,自然你就無法配置odbc了,有一個解決方法就是用pb7第二張光碟上的odbc安裝程式覆蓋系統中的odbc,或者把你的作業系統改為windows95/97算了。

然後進入“oracle8 odbc driver setup”設定,在“data source name”一項中隨便輸入一個名字,在“data source service name”一欄中輸入oracle連線資料庫的字元串名,這可以在你安裝的oracle目錄中的tnsnames.ora檔案中查看到(oracle7安裝路徑為“orawin95\network\ admin”;oracle8安裝路徑為“orawin95\net80\admin”),或者你通過“sql net easy configuration”新添加一個資料庫連線配置,將配置中的字元串填入即可,其他的就不必再填入,避免出現畫蛇添足之錯,反而連線不上資料庫了。 db profile數據源的配置

進入pb,打開db profile,如圖4所示,選擇odbc一項,點擊“new”,進入pb數據源的配置,如圖5所示。當然如果你之前沒有進行odbc的配置,你也可以在這裡點擊“config odbc”進入之前你看到的odbc配置界面。

在“profile name”中自定義一個名字,然後從“data source”的下拉選單中選擇你在odbc中已經配置好的數據源,輸入登錄資料庫所需要的用戶名與密碼,當然你認為沒有這個必要性的話可以不在這裡輸入(主要是不要輕易讓人知道你資料庫的口令,不然問題就大了),到這一步為止,pb已經做完了所有資料庫連線的配置,剩下的就是連線上資料庫了。 pb for oracle專用接口的配置

同樣是進入pb,點擊db profile選項(這是對oracle7版本而言,如果是oracle8,相應的選項就是oracle8.0.4),看到上面的“073 oracle 7.3”選項沒有,點擊一下,再按“new”進入圖7的界面,“profile name”一欄隨意填,“server”一欄填寫時要注意,oracle7版本一定要在數據連線字元串前加上@,否則不能連線上pb資料庫,oracle8版本則不必加上@,其他的設定就可以不用了。

以上三種pb連線資料庫的方法其實十分簡單,但是初學者卻又會經常出錯,在這裡只是想作為一種拋磚引玉之用,希望廣大初學者通過本文對pb數據源配置能夠有一定的了解。下面再對oracle連線資料庫的配置檔案tnsnames.ora簡單說明一下,“tnsnames.ora”檔案其實是通過“sql net easy configuration”初始化配置後的參數檔案,如果你不想通過“sql net easy configuration”進行配置,你只需要把你先前已有的“tnsnames.ora”檔案放入oracle的admin目錄中,覆蓋現有的檔案就可以了,當然你也可以再自己添加資料庫連線字元串。通常,一個“tnsnames.ora”檔案內容如下: ······kf.world = (description = (address_list = (address = (community = tcp.world) (protocol = tcp) (host = 136.12.145.5) (port = 1521) ) (address = (community = tcp.world) (protocol = tcp) (host = 136.12.145.5) (port = 1526) ) ) (connect_data = (sid = sid3) ) )······

其中最要的是第一項和最後一項(這裡是以tcp/ip網路連線,大多數用戶都是以此連線),host一欄是主機地址,“connect_data = (sid = sid3)”中的sid3是連線主機資料庫的字元串,你要修改這幾項就可以了。另外談談如何讓英文版的oracle7顯示中文,其實很簡單,只要將註冊表“hkey_local_machine\ software\oracle\nls_lang”中的值改為如下值就可以了“ simplified chinese_china.zhs16cgb231280”。