最近重装了windows7 64位的,又装了oracle10g64位,发现pb连oracle频繁出错。熬了一个通宵终于算是解决了。开发环境,除了数据库服务,还要安装32位的oracle客户端,因为pb是32位的。
添加一个系统级环境变量:
TNS_ADMIN D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN
默认安装完客户端,path里第一个是D:\oracle\product\10.2.0\client_1\bin;
如果pb还是不能连接,删掉监听重新创建,重启计算机看看。
直连方式有2种:
第一个:OLE连接方式
SQLCA.DBMS = "OLE DB"
SQLCA.LogPass = "si"
SQLCA.LogId = "si"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PROVIDER='OraOLEDB.Oracle',DATASOURCE='127.0.0.1:1521/orcl'"
第二个:直连
// Profile 实例
SQLCA.DBMS = "O10 Oracle10g (10.1.0)"
SQLCA.LogPass = "service"
SQLCA.ServerName = "172.10.10.2:1521/orcl"
SQLCA.LogId = "service"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='service'"
发布后的程序,在用户机器上不用安装oracle客户端,直接把instantclient-basic-win32-10.2.0.5解压缩,把里面的dll文件拷贝到程序目录下即可直接执行。如果不把这些dll文件拷贝过去,可能会出现找不到本地nls_lang的提示。
注意开发环境与投产客户端的区别。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。