其实你装完pb环境后,是由这个动态库的。我的系统是win7 64位的,装完pb后去c盘找了这个动态库,他的位置是这个C:\Program Files (x86)\Sybase\Shared\PowerBuilder,你可以到c盘(安装pb的目录搜索下)。
我的解决方法是将这个目录配置到windows的环境变量PATH中,然后系统就能找到这个动态库了。
终于用上了这个古老的语言充满了未知的挑战,不过根据我以往的经验只要不是从来没有遇到过的BUG 基本在互联网搜一下就能够解决,只不过要花费点时间。我在电视站学习PowerBuilder正要连接数据库的时候,报错了,刚开始还以为是我的if语句写的有问题,然后几经周折的搜了一下,当错误出来的时候双击一下它就可以定位错误的位置。
1、这里闹了两个大乌龙了,报错c0031 ,copy过来的信息密码是隐藏起来的所以你需要重新写一下。
2、找着打也打错了 CONNECT USING SQLCA
大家引以为戒。
然后回到开始的时候,会报错: Oracle library OCI.DLL could not be loaded 我的客户端查了一下是64bit的,所以需要下载32bit的。
查客户端
SELECT * from v$version
结果为:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE 11.2.0.1.0 Production
TNS for 64-bit Windows: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production
第一步:下载一个Instant Client for Microsoft Windows (32-bit) (注:这个是关键,一定要下32位的,千万别下成了下64位的)
(下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html)
如果下成了64位的还是会出现同样的问题,问题并不能得到解决
第二步:将下载的压缩包解压得到instantclient_11_2文件夹,然后将文件夹复制到Oracle安装目录下的Product文件夹下,
以我的为例:放在D:\app\product里,即:D:\app\product\instantclient_11_2
第三步:在Oracle安装目录下找到NETWORK文件夹,然后将整个NETWORK文件夹复制到D:\app\product\instantclient_11_2文件夹里,
(以我的为例:我的NETWORK文件夹在如下目录里D:\app\product\11.2.0\dbhome_1)
第四部:在系统环境变量中增加32位oci.dll的路径:D:\app\product\instantclient_11_2
整的差不多了然后报:ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
搞半天是我的服务名没写对。。。
最后再来一个:please connect as the powerbuilder catalog owner
1、这个是用报错可以:解决方法:点击system属性页,在powerbuilder catalog table owner后面填上实际的loginid即可
2、再或者:PB catalog owner默认用户是system, 可以先用 system 用户连上数据库, PB会在数据库中建立一些相关的表和存储过程,然后可以使用普通用户连接;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)