cqlinx 发表于 2018-9-7 08:54:38

pb12.5.2直连oracle10g-dewel88

  最近重装了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的提示。
  注意开发环境与投产客户端的区别。

页: [1]
查看完整版本: pb12.5.2直连oracle10g-dewel88