PowerBuilder與Sybase SQL Server的串連
PowerBuilder與Sybase SQL Server雖然都是Sybase公司的產品,但用PowerBuilder作前台, Sybase SQL Server作後台時,如果因為設定 不當等原因,它們有可能就會串連不暢。當然首先Open Client 應已經安裝, 並正確配置, 且能夠通過wisql 或Sybase Advantage查詢SERVER端資料庫中的資料。
通常,PowerBuilder串連不上Sybase資料庫,原因主要有以下幾點:
1) locales.dat 未正確設定
locales.dat 是Client端字元集設定檔案, 一般在c:/sybase/locales/ 目錄下。若作業系統平台是 Windows 95, 則修改[NT]節下的相關內容;若作業系統平台是Windows 3.x, 則修改[win3]節下的相關內容。
a、應該有一行有關中國的國別設定:
locale = chs, us_english, iso_1
b、Client端的預設字元集設定應該和Server端的字元集設定一致。
本例中將Client端的預設字元集設為iso_1:
locale = default, us_english, iso_1
2) 重裝SQL SERVER後未運行pbsyc.sql :
pbsyc.sql用於在Sybase資料庫中建立PowerBuilder所需的系統資料表和預存程序,它在PowerBuilder安裝盤的server目錄下。當PowerBuilder 第一次串連資料庫之前,或Sybase重裝之後,需要在isql或Sybase Advantage中,用"sa"登入到"master"資料庫,運行
pbsyc.sql
另外,若串連的是Adaptive Server 11.5,需要先對pbsyc.sql檔案做如下改動:將"@@"替換為"@",但保留"@@error"和"@@isolation"
3) PowerBuilder是32位的,但Open Client是16位的:
由於PowerBuilder需要通過Open Client實現與資料庫的串連,所以 Open Client必須與PowerBuilder同為32位,或同為16位。
4) 未安裝Sybase的直串連口(Native Driver)或ODBC介面(ODBC Driver):
PowerBuilder需要通過Native Driver或ODBC Driver才能訪問資料庫,所以若需要訪問Sybase資料庫,Native Driver或ODBC Driver是必需的。
5) Open Client中定義的Server Name與PowerBuilder應用中SQLCA.ServerName 設定的值不一致。
6) 未將PowerBuilder的DLL庫的路徑名加到系統搜尋路徑上由於PowerBuilder應用程式運行時需要一些DLL庫的支援,所以需要將 PowerBuilder的DLL庫的路徑加到系統搜尋路徑上。
下面是系統預設的DLL庫安裝路徑:
長檔名安裝時:(PB6.0) c:/Program Files/Powersoft/Shared/
長檔名安裝時:(PB5.0) c:/Program Files/Common Files/Powersoft Shared/
短檔案名稱安裝時: c:/pwrs/sys32/