pb9 + sql server2016源程序直接连接可以,编译后目标程序无法连接,且不返回任何信息。

azc 2022-03-15 14:02:34

SQLCA.DBMS = "MSS Microsoft SQL Server"
SQLCA.Database = "ufdata_001_2019"
SQLCA.LogPass = "sql"
SQLCA.ServerName ="AZC\AZC"
SQLCA.ServerName ="."
SQLCA.LogId = "sa"
SQLCA.AutoCommit = False
SQLCA.DBParm = ""

项目原先数据源采用sql server 直连得方式,如上代码,数据库如采用 Microsoft SQL Server 2008R2或者 2012版版本,相同得目标程序都能连接,换成 2016或者2019版本数据库,目标程序没有任何返回或者返回SSL安全错误;因生产环境采用2016版数据库,故期望修改数据源连接方式采用ODBC方式,如下

//建立odbc数据源

registryset("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ufdata_001_2019","Driver",regstring!,'C:\\WINDOWS\\system32\\SQLSRV32.dll')
registryset("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ufdata_001_2019","Server",regstring!,'AZC\AZC')
registryset("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ufdata_001_2019","atabase",regstring!,'UFDATA_001_2019')
registryset("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ufdata_001_2019","LastUser",regstring!,'sa')
registryset("HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources","ufdata_001_2019",regstring!,'SQL Server')

//连接数据源

SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=ufdata_001_2019;UID=sa;PWD=sql',DisableBind=1,StaticBind=0,TrimSpaces='1',CallEscape='No',DelimitIdentifier='Yes',StripParmNames='Yes'"

但由此引出得报错问题如“select error: an error occurred,yet no message was returned by the database” 和“select error:bind parameter value for ':cvenname' is too big(2)”。

情况如上,项目停滞,不管采用哪种方式,请高人指点。

...全文
1874 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
小安子 2023-08-24
  • 打赏
  • 举报
回复

怀疑是odbc 的 DBParm,配置不全的问题,odbc用snc配置。

PackChen 2022-08-23
  • 打赏
  • 举报
回复

pb9是支持oledb连接的,我用mss或者ole都可以
别说2016,更高版本都行

azc 2022-06-16
  • 打赏
  • 举报
回复

此问题未解决,但已用C#.net重新开发,结帖。

weixin_41776185 2022-05-31
  • 打赏
  • 举报
回复

可以改用用oledb的方式连接试试

azc 2022-06-01
  • 举报
回复
@weixin_41776185 pb 9 不支持oledb 的连接方式,源程序就必须得升级到PB 10了,恐怕升级之后问题更多啊,感谢您的回复。
azc 2022-05-30
  • 打赏
  • 举报
回复 1

1000元求此问题解决方法!!QQ:185872114

azc 2022-04-05
  • 打赏
  • 举报
回复

ntwdblib.DLL 版本2000.80.2039.0;其它版本也试过,都不行。

946 2022-03-17
  • 打赏
  • 举报
回复 1

我现在就是PB9连接sqlserver 2016没有任何问题,检查你的动态连接库的版本

azc 2022-03-18
  • 举报
回复
@946 十分感谢您得回复,我用得ntwdblib.dll版本是2000.80.2039.0,并且我把C:\Program Files (x86)\Sybase\Shared\PowerBuilder目录下所有dll都拷到我目标程序目录下,但是依然不行,如果您方便,加下我QQ:185872114,联系一下。十分感谢!
caijiabiao 2023-02-23
  • 举报
回复
@azc 此问题解决了么,如果解决能否加我qq:252746284,联系下,万分感谢!

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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