先到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名字,让我费了些时间.