惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
J
Java Code Geeks
爱范儿
爱范儿
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog RSS Feed
Google DeepMind News
Google DeepMind News
Jina AI
Jina AI
The GitHub Blog
The GitHub Blog
I
InfoQ
月光博客
月光博客
博客园 - 聂微东
博客园 - Franky
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research

博客园 - reagan

启动FM预算基金管理模块后,0L总账消失的解决办法 (转)找增强方法总结 ABAP开发工具概述(转) ALV简单模板1 我是怎么看friends练口语的(转贴) WCF绑定类型选择(转) pb的网络资源【转】 powerbuider11 C/S 转换为B/S 转:将可执行文件注册成系统windows服务 转:利用reportviewer与C#生成报表 使用SerialPort类设计串口通讯程序 (VS2005)[转载] VS 2005 SP1简体中文版下载地址 C# aspx 数据绑定集中 - reagan Microsoft Expression Studio 2 简体中文正式版 Access数据类型与.net OleDbType枚举类型的对应 60个数据窗口技巧 C#常用函数和方法 【转】在ASP.NET中显示进度条 【转】ADO.NET2.0新特性-异步查询
powerbuilder9 连接 oracle 10g
reagan · 2012-06-16 · via 博客园 - reagan

1、找(可在安装oracle客户端的机子)oci.dll 和 oraociei10.dll  tnsnames.ora这三个文件,放在你的应用程序目录下即可

2、还得有个 tnsnames.ora 文件可用记事本打开 编辑

3、如果提示 不能加载 oci.dll 文件,说明你的计算机系统老,没有 msvcr71.dll 文件,同样放在你的程序目录下 或放在系统文件目录下

4、如果看到表的数据中  中文是乱码(中文显示'???'),你就在你的系统的注册表中  注册一个值 即可

详情  请参看下面:

说明:oracle10g免装客户端发布和以前版本的发布可能很不一样,因为没有钻研过oracle9i以前版本的发布,所以这里不敢妄评。但oracle10g的发布确实非常简单。本次数据库迁移时我咨询了Oracle公司的技术人员,但发现他们的技术人员其实对发布方面的问题也不是非常精通,只是告知10g的动态库连接将面向所有低版本,而且发布十分简单。但具体到详细配置也是不知所云。好了废话不再多说,下面就是详细的发布方法。
一、 需要发布时打包的文件:
1、dll文件;
(1)oci.dll  
(2)oraociei10.dll
以上两个dll文件获取方法是安装完oracle客户端instantclient后在安装目录下直接获取,其中oraociei10非常大约88M,没办法就是这么大。(这个文件应该在数据库服务器的oracle安装目录下也能找到,不知道是不是bin目录,自己搜一下。)
(3)libjcc.dll
(4)pbdwe90.dll
(5)Pbo9090.dll
(6)pbvm90.dll
(7)msvcr71.dll(win2000操作系统需要此dll,winxp版本不需要。获取办法请到winxp操作系统的system32目录下寻找)
以上几个dll是PB发布的时所需的最少dll,可根据项目需要自己增加dll,其中数字9是pb的版本,可根据自己的开发版本自行调整。其中需要注意的是msvcr71.dll这个文件,win2000操作系统发布需要这个文件,winxp则不需要。但建议一并打上。这样就不用区分版本。
2、其它相关文件
(1)tnsnames.ora
该文件记录了客户端连接数据库服务器的地址和数据库名;
说明:以上所有文件在发布时可拷贝到安装目录下,当然你可以拷贝到操作系统的目录下。有的朋友可能比较困惑如何修改tnsnames.ora文件中服务器的地址和数据库名,因为这个文件不支持ini读写格式。这个你自己要想办法了,我是在pb脚本中利用filewrite函数将所有字符串硬写进去的。
3、注册表
(1) 增设[HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE]目录;
(2) 在该目录下建立一个字符串值:
NLS_LANG=SIMPLIFIED   CHINESE_CHINA.ZHS16GBK
这个是为了显示简体中文的设置。如果不设置中文将会显示乱码;
如果需要显示繁体则:
NLS_LANG=TRADITIONAL   CHINESE_TAIWAN.ZHT16MSWIN950
说明:其实注册表不做任何设置已经能连接上数据库了,注册表的设置就是语言设置。
3、运行测试
按照上面的配置方法在win2000专业版和winxp专业版进行了测试均通过。就10g而言,比以前版本的发布少了很多dll,可能这也是为什么oraociei10.dll文件如此之大的原因,也许oracle把以前的所有相关dll都融合到这个文件里了。这里只是做了简单的测试,不知道会不会有新的问题,欢迎大家做进一步的测试看看是否会遗漏一些dll造成某些功能可能会出现问题。

补充:下面是pb直连10g的连接代码
  SQLCA.DBMS   =   "O90   Oracle9i   (9.0.1) "//这个dbms用的是9版本的但10也可用所以没换。
  SQLCA.LogPass   =   '****** '
  SQLCA.ServerName   =   "yoursername "//这个是tnsnames.ora文件中的连接字符串名
  wf_oracleini(ls_ServerName,ls_dbname)//这个函数是设置oracle的tnsnames.ora中的服务器IP地址和数据库名,大家自己写吧
  SQLCA.LogId   =   'youruname '
  SQLCA.AutoCommit   =   False//oracle好像默认必须是显式事务处理,这个参数设不设无所谓。
  SQLCA.DBParm   =   ' '

connect     using   sqlca;//或你自己的数据库连接对象名