PowerBuilder 12.6连接Oracle 10g XE报ORA错误求分步连接配置方法
PowerBuilder 12.6 连接 Oracle 10g XE 分步操作流程
前置检查
- 确认PowerBuilder 12.6 与Oracle客户端位数匹配:32位PB必须安装32位Oracle 10g客户端,64位PB对应64位客户端,位数不匹配是两类报错的常见诱因
- 确认Oracle 10g XE核心服务正常:Windows服务列表中
OracleServiceXE、OracleXETNSListener两个服务状态为正在运行
步骤1:修复TNS配置(解决ORA-12154报错)
- 进入Oracle客户端安装路径下的
NETWORK\ADMIN目录,找到tnsnames.ora文件用文本编辑器打开 - 新增以下连接配置,替换为你实际的主机IP(本地测试可填127.0.0.1)、端口(Oracle XE默认端口1521):
XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 你的主机IP)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) )
- 保存文件后打开cmd执行命令
tnsping XE,返回OK即代表TNS配置生效
步骤2:配置PB O10数据库连接文件
- 打开PowerBuilder 12.6,依次点击菜单栏
Tools -> Database Profile - 找到
O10 Oracle 10g分类右键,选择New Profile - 按以下规则填写配置项,禁止填写
host:port/apex格式的服务器地址(O10驱动不兼容该格式会触发ORA-06413报错):- Profile Name:自定义连接名,例如
Oracle_XE - Server:直接填
XE(对应前一步配置的TNS别名) - Login ID:Oracle数据库用户名,例如默认管理员
system - Password:对应用户的登录密码
- Profile Name:自定义连接名,例如
- 切换到
Preview标签页,确认自动生成的连接语法如下:
// Profile Oracle_XE SQLCA.DBMS = "O10 Oracle10g (10.1.0)" SQLCA.LogPass = <***> SQLCA.LogId = "system" SQLCA.ServerName = "XE" SQLCA.AutoCommit = False SQLCA.DBParm = ""
- 点击
Test Connection,提示Connection successful即连接成功
残留报错排查
- 仍报ORA-06413:检查PB安装路径是否包含括号、中文,例如
C:\Program Files (x86)\Sybase\PowerBuilder 12.6这类路径会导致O10驱动解析异常,卸载PB重装到无特殊字符的路径即可,例如C:\Sybase\PB12.6 - 仍报ORA-12154:检查系统环境变量
TNS_ADMIN是否指向你刚才修改的NETWORK\ADMIN目录,避免PB读取到其他位置的无效tnsnames.ora文件
内容的提问来源于stack exchange,提问作者sandesh
相关产品推荐
相关产品推荐

