先到oracle 網站上下載下傳instantclient
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html
因為要我連接配接的是oracle 10.2的伺服器,是以我選擇的是Version 10.2.0.4
Instant Client Package - Basic 要下,這是基礎包
Instant Client Package - JDBC Supplement 如果要用JDBC,就需要下載下傳
Instant Client Package - ODBC 如果要用JDBC,就需要下載下傳
我隻測試了Powerbuuilder直連跟JDBC連接配接方式,這裡隻說一下這兩種方式:
1. 下載下傳後把所有檔案都解壓到C:/insantclient中, 目錄名任意起.
2. 設定windows 的環境變量PATH, 加入C:/instantclient
3. 在C:/instantclient建立tnsnames.ora檔案,
内容如下:
localdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = www.abc.cn)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
4. 加入環境變量NLS_LANG,值為SIMPLIFIED CHINESE_CHINA.ZHS16GBK
5. 加入環境變量LD_LIBRARY_PATH, 值為c:/insantclient
6. 啟動PB10.5,如果使用JDBC接口,進入Tools->System Options的Java頁,加入classpaths, 值為C:/instantclient/ojdbc14.jar,
該檔案是在Instant Client Package - JDBC Supplement包裡的.
7. 打開db profile, 選擇O10 Oracle 10g, new profile,
Connection頁: profile name:随意, server:localdb(這個來自于tnsnames.ora檔案) , Login ID, Password這些照實際填寫
System頁: 在powerbuilder catalog table owner選項, 填寫Login ID的值.
最終文法如下:
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogPass = <****>
SQLCA.ServerName = "localdb"
SQLCA.LogId = "test"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='test'"
Test Connection即可.
8. DB Profile的JDB JDBC, new profile,
Driver Name= oracle.jdbc.driver.OracleDriver
URL=jdbc:oracle:thin:@www.abc.cn:1521:ORCL
login ID, Passoword這些照實際的填寫.
形成文法如下:
SQLCA.DBMS = "JDBC"
SQLCA.LogPass = <****>
SQLCA.LogId = "test"
SQLCA.AutoCommit = False
SQLCA.DBParm = "URL='jdbc:oracle:thin:@www.abc.cn:1521:ORCL',Driver='oracle.jdbc.driver.OracleDriver'"
Test Connection即可.
以上是我實際使用的過程, 關鍵是直連裡需要使用tnsnames.ora中的localdb名字,讓我費了些時間.