最近重装了windows7多64位的,又装了oracle10g64位,发现pb连oracle频繁出错。熬了一个通宵终于算是解决了。开发环境,除了数据库服务,还要安装32位的甲骨文客户端,因为pb是32位的。
添加一个系统级环境变量:
TNS_ADMIN ,,, D: \甲骨文产品\ \ 10.2.0 \ client_1 \ \网络管理
默认安装完客户端,路径里第一个是D: \甲骨文\产品\ 10.2.0 \ client_1 \ bin;
如果pb还是不能连接,删掉监听重新创建,重启计算机看看。
直连方式有两种:
第一个:OLE连接方式
SQLCA。DBMS=" OLE DB "
SQLCA。LogPass=" "
SQLCA。LogId=" "
SQLCA。自动提交=False
SQLCA。DBParm="提供者=OraOLEDB.Oracle,数据源=127.0.0.1:1521/orcl”
第二个:直连
//概要实例
SQLCA。DBMS=" O10 Oracle10g 10.1.0 "
SQLCA。" LogPass=,
SQLCA。ServerName=" 172.10.10.2:1521/orcl "
SQLCA。LogId=" "
SQLCA。自动提交=False
SQLCA。DBParm=" PBCatalogOwner=" "
发布后的程序,在用户机器上不用安装甲骨文客户端,直接把instantclient-basic-win32-10.2.0.5解压缩,把里面的dll文件拷贝到程序目录下即可直接执行。如果不把这些dll文件拷贝过去,可能会出现找不到本地nls_lang的提示。
注意开发环境与投产客户端的区别。