数据库连接问题!!急

zifeiyu711 2002-11-22 11:16:40
我用工具条中的DB Profile连接数据库之后,在创建datawindow时也能看见所连数据库中的表,但我用run运行时,却提示连接数据库出错‘DBMS is not support in your current installation!’,
我用的pb8.0+SQL server 7.0,请教各位大侠是怎么回事?
...全文
99 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
winnerjoanna 2002-11-22
  • 打赏
  • 举报
回复
配置文件这样写就可以
////////////////
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=tms;UID=dba;PWD=sql'"
connect using sqlca;
if sqlca.sqlcode<>0 then
messagebox("数据库联接失败",sqlca.sqlerrtext,stopsign!)
halt
end if
winnerjoanna 2002-11-22
  • 打赏
  • 举报
回复
如何处理PB联库时出现的 “DBMS XXX is not supported in your current installation”



我们在使用PowerBuilder的直联接口(native drivers)联接诸如

Sybase或Oracle这样的大型数据库时,有时会发生联不上库的

情况, 并且遇到提示信息 “DBMS XXX is not supported in

your current installation”。

产生这种现象的原因是我们没有正确地安装或设置好PB的

native driver或数据库的客户端软件(如Sybase的Open Client)。

具体的有以下三个原因:

1. PowerBuilder安装的是32位的,而数据库的客户端软件安装

的却是16位的;或PowerBuilder安装的是16位的,而数据库的

客户端软件安装的却是32位的。

2. native driver的DLLs所在的路径没有包括在机器的系统路径中。

3. 数据库的客户端软件的DLLs所在的路径没有包括在机器的系

统路径中。

对上述三种原因的解决方法如下:

1. 确认PB和数据库的客户端软件都是32位的或都是16位的。

2. 将PB的运行环境的路径(5.0 32-bit long name: \Program Files\Common

Files\Poweresoft Shared, 5.0 32-bit short name或5.0 16-bit: \pwrs\sys32,

6.0: \Program Files\Powersoft\shared)加到机器的系统路径中(autoexec.bat

中的path)。

3. 将数据库的客户端软件的DLLs所在的路径(如Sybase Open Client的路

径\sybase\bin, Oracle SQL*NET的路径\orawin\sys32)加到机器的系统路

径中。?/p>

如果您想了解有关联接数据库的详细情况,请查阅手册“Connecting

to your database”(该手册也包含在PB的光盘Refference)。

///////////////////
另外你可以手动的配一下odbc,看看数据库是否是活动连接
zifeiyu711 2002-11-22
  • 打赏
  • 举报
回复
sqlca.DBMS = ProfileString (ls_startupfile, "database", "dbms", "")
sqlca.database = ProfileString (ls_startupfile, "database", "database", "")
sqlca.userid = ProfileString (ls_startupfile, "database", "userid", "")
sqlca.dbpass = ProfileString (ls_startupfile, "database", "dbpass", "")
sqlca.logid = ProfileString (ls_startupfile, "database", "logid", "")
sqlca.logpass = ProfileString (ls_startupfile, "database", "LogPassWord", "")
sqlca.servername = ProfileString (ls_startupfile, "database", "servername", "")
sqlca.dbparm = ProfileString (ls_startupfile, "database", "dbparm", "")

connect using sqlca;

if sqlca.sqlcode <> 0 then
MessageBox ("Cannot Connect to Database", sqlca.sqlerrtext)
return
end if
lsycat 2002-11-22
  • 打赏
  • 举报
回复
把配置语句贴上来看看。
zifeiyu711 2002-11-22
  • 打赏
  • 举报
回复
加了,要不然怎么能出现上面的错误信息呢!
888888888888 2002-11-22
  • 打赏
  • 举报
回复
楼上说的都对:好好检查一下。
lsycat 2002-11-22
  • 打赏
  • 举报
回复
connect using sqlca;
加上这句没有。
xiaojie98 2002-11-22
  • 打赏
  • 举报
回复
你是不是粗心,没有把数据库连接语句写到application的open事件里啊?把下面的语句加上去就可以了
connect;
if sqlca.sqlcode <> 0 then
messagebox("connot connect database",sqlca.sqlerrtext)
end if
dongquestion 2002-11-22
  • 打赏
  • 举报
回复
你是不是用的ODBC那一项啊,你应该用ms microsoft sql server那一项才对
zifeiyu711 2002-11-22
  • 打赏
  • 举报
回复
用本地和服务器都出这种错!
iwithyou 2002-11-22
  • 打赏
  • 举报
回复
是本地还是服务器的数据库?
zifeiyu711 2002-11-22
  • 打赏
  • 举报
回复
我的问题解决了,不过具体原因我也没太搞懂!
谢谢以上各位!!
zifeiyu711 2002-11-22
  • 打赏
  • 举报
回复
那如何确认PB和数据库的客户端软件是32位的或是16位的呢?

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧