为什么偶尔会连不上SQL数据库呢,高手请进,100分相送!!!!!

时间:2022-11-18 21:26:56
我在pb9里运行程序,后台数据库是SQL2000,为什么登陆时,偶尔会连不上SQL数据库呢,返回的sqlca.sqlerrtext内容是:A SQLServer request resulted in a bad return code or status but no error message was returned.
很郁闷,一天估计会出现一两次吧,调试调试着就连不上(就是运行程序,点run的时候连不上),几率不是很大,但不知道问题出在哪里??对了,我要是把pb9关掉,重新启动,再run的话就没问题了,如果PB9不关的话,怎么run都是连不上!

23 个解决方案

#1


错误信息:A SQLServer request resulted in a bad return code or status but no error message was returned”

有4种情况可导致上述错误提示,可用以下的4种方法逐一尝试:

1) 检查服务器端SQL Server服务器是否已经正常启动,服务器名称是否输入正确。检查服务器是否已关机。

2) 客户机和服务器的计算机名称相同,导致系统找不到服务器的准确位置。检查客户机和服务器的计算机名称是否相同,如果相同,则在网上邻居上将其中一台的计算机名修改。 

3) TCP/IP协议有不正确。把网上邻居网卡的TCP/IP协议重新安装一次。

4) 服务器所在的计算机没有打上SQL的SP3/SP4补丁。点任务栏SQL服务器右键有个关于,如果版本号是:8.00.760是打了sp3补丁,8.00.2039是打了sp4补丁,否则,要打上其中一个补丁。 

#3


肯定排除了2楼的四个原因;
******************************************************
这个现象的确是与进程不断增加最终达到一定数量后,造成到。
因为我也曾经遇到过同样到错误。当时情形是这样的
每当在一个界面操作完毕将窗口关闭并退出时,其他的所有进程都随之关闭了,但总会有个查询进程不关闭。随着它的增加到一定数量后,就会发生楼主相同到错误。
经分析这个窗体有两个子窗体。不能关闭的查询就是其中的一个,而这个窗体选择了“AutoRetrieve”属性。问题就出现在这里。

找到了问题到结症,当然就好解决了。
*****************************************************
不明白
看看是否对你有些启发? 

#4


试试把数据库重新安装一下,或者打个补丁试试

#5


我终于找到原因了,之所以在pb9里偶尔会出现连不上SQL的情况,我刚才测试了一下,发现每当在PB9里RUN程序的时候,SQL的进程变多一个,当我连续运行到25个的时候,就会连接不上,并弹出那个提示,但退出PB9重启就没问题,因为重启PB9,SQL的进程就会自动关闭,也就是说SQL的进程最多只能开25个,到26个就会连不上。

#6


我现在是单机操作,那假如以后有其他客户端连接的话,当连接数量超过25个了那就连不上了??怎么解决这个问题呢

#7


引用 3 楼 pb2005 的回复:
肯定排除了2楼的四个原因;
******************************************************
这个现象的确是与进程不断增加最终达到一定数量后,造成到。
因为我也曾经遇到过同样到错误。当时情形是这样的
每当在一个界面操作完毕将窗口关闭并退出时,其他的所有进程都随之关闭了,但总会有个查询进程不关闭。随着它的增加到一定数量后,就会发生楼主相同到错误。……


跟这个说的差不多

就是得考虑程序在关闭时是否及时的 disconnect using sqlca

#8


那你可以程序里控制一下,同一台机器只允许远行一个进程,就不会出现你这种情况了~

#9


控制进程,相同的进程运行一个,就不会出现进程超出了

#10


又测试了一下,脱离PB9的环境,直接运行编译后的程序是没有问题的,即使超过25个进程,也依旧可以连接SQL,真是不明白,为什么PB9下SQL进程超过25个为什么就会连不上呢

#11


PB的问题

#12


一定要disconnect就可以了

#13


有4种情况可导致上述错误提示,可用以下的4种方法逐一尝试: 
A、操作系统的wwsysdll文件错误。把c:\windows\wwsysdll文件删除,然后请重新安装晋新软件。 
B、TCP/IP协议有不正确。把网上邻居网卡的TCP/IP协议重新安装一次。 
C、客户机和服务器的计算机名称相同,导致系统找不到服务器的准确位置。检查客户机和服务器的计算机名称是否相同,如果相同,则在网上邻居上将其中一台的计算机名修改。 

D、服务器所在的计算机没有打上SQL的SP3/SP4补丁。点任务栏SQL服务器右键有个关于,如果版本号是:8.00.760是打了sp3补丁,8.00.2039是打了sp4补丁,否则,要打上其中一个补丁。 

#14


小弟记得用完东西要放回去,该断开的要断开,该销毁的要销毁!

#15


引用 14 楼 888888888888 的回复:
小弟记得用完东西要放回去,该断开的要断开,该销毁的要销毁!

良好的编程习惯 不是可有可无的!!

#16


受教了,PB有这种限制

#17


该回复于2012-01-19 09:39:10被版主删除

#18


该回复于2012-01-29 13:22:17被版主删除

#19


引用 10 楼 pb2005 的回复:
又测试了一下,脱离PB9的环境,直接运行编译后的程序是没有问题的,即使超过25个进程,也依旧可以连接SQL,真是不明白,为什么PB9下SQL进程超过25个为什么就会连不上呢


SQL的鏈接數不止25個,是PB鏈接SQL是的限制,建議在close事件中添加disconnect(sqlca).

#20


我PB9+SQL2005
放个假回来,死活是连接不上
A SQLServer request resulted in a bad return code or status but no error message was returned.
WIN7系统,补丁重新安装依旧是不行,不知道问题出在哪
在重新安补丁的时候检查锁定文件时,我的服务明明启动了,却没有检查出来锁定的文件!!sqlserver在任务管理器中呢,以前是能检查到锁定的。
不知道问题是什么,但我进入管理器,把sa的密码又强制改了一下(还是原密码),结果就可以连接了!

#21


引用 14 楼 888888888888 的回复:
小弟记得用完东西要放回去,该断开的要断开,该销毁的要销毁!


连接完数据库一定要断开连接。算是PB很基本的编程习惯。

#22


引用 21 楼 wz19870429 的回复:
引用 14 楼 888888888888 的回复:
小弟记得用完东西要放回去,该断开的要断开,该销毁的要销毁!


连接完数据库一定要断开连接。算是PB很基本的编程习惯。
为什么偶尔会连不上SQL数据库呢,高手请进,100分相送!!!!!

#23


楼主,我也遇到过你这样的问题。
无他,关闭pb再重新打开吧。

#1


错误信息:A SQLServer request resulted in a bad return code or status but no error message was returned”

有4种情况可导致上述错误提示,可用以下的4种方法逐一尝试:

1) 检查服务器端SQL Server服务器是否已经正常启动,服务器名称是否输入正确。检查服务器是否已关机。

2) 客户机和服务器的计算机名称相同,导致系统找不到服务器的准确位置。检查客户机和服务器的计算机名称是否相同,如果相同,则在网上邻居上将其中一台的计算机名修改。 

3) TCP/IP协议有不正确。把网上邻居网卡的TCP/IP协议重新安装一次。

4) 服务器所在的计算机没有打上SQL的SP3/SP4补丁。点任务栏SQL服务器右键有个关于,如果版本号是:8.00.760是打了sp3补丁,8.00.2039是打了sp4补丁,否则,要打上其中一个补丁。 

#2


#3


肯定排除了2楼的四个原因;
******************************************************
这个现象的确是与进程不断增加最终达到一定数量后,造成到。
因为我也曾经遇到过同样到错误。当时情形是这样的
每当在一个界面操作完毕将窗口关闭并退出时,其他的所有进程都随之关闭了,但总会有个查询进程不关闭。随着它的增加到一定数量后,就会发生楼主相同到错误。
经分析这个窗体有两个子窗体。不能关闭的查询就是其中的一个,而这个窗体选择了“AutoRetrieve”属性。问题就出现在这里。

找到了问题到结症,当然就好解决了。
*****************************************************
不明白
看看是否对你有些启发? 

#4


试试把数据库重新安装一下,或者打个补丁试试

#5


我终于找到原因了,之所以在pb9里偶尔会出现连不上SQL的情况,我刚才测试了一下,发现每当在PB9里RUN程序的时候,SQL的进程变多一个,当我连续运行到25个的时候,就会连接不上,并弹出那个提示,但退出PB9重启就没问题,因为重启PB9,SQL的进程就会自动关闭,也就是说SQL的进程最多只能开25个,到26个就会连不上。

#6


我现在是单机操作,那假如以后有其他客户端连接的话,当连接数量超过25个了那就连不上了??怎么解决这个问题呢

#7


引用 3 楼 pb2005 的回复:
肯定排除了2楼的四个原因;
******************************************************
这个现象的确是与进程不断增加最终达到一定数量后,造成到。
因为我也曾经遇到过同样到错误。当时情形是这样的
每当在一个界面操作完毕将窗口关闭并退出时,其他的所有进程都随之关闭了,但总会有个查询进程不关闭。随着它的增加到一定数量后,就会发生楼主相同到错误。……


跟这个说的差不多

就是得考虑程序在关闭时是否及时的 disconnect using sqlca

#8


那你可以程序里控制一下,同一台机器只允许远行一个进程,就不会出现你这种情况了~

#9


控制进程,相同的进程运行一个,就不会出现进程超出了

#10


又测试了一下,脱离PB9的环境,直接运行编译后的程序是没有问题的,即使超过25个进程,也依旧可以连接SQL,真是不明白,为什么PB9下SQL进程超过25个为什么就会连不上呢

#11


PB的问题

#12


一定要disconnect就可以了

#13


有4种情况可导致上述错误提示,可用以下的4种方法逐一尝试: 
A、操作系统的wwsysdll文件错误。把c:\windows\wwsysdll文件删除,然后请重新安装晋新软件。 
B、TCP/IP协议有不正确。把网上邻居网卡的TCP/IP协议重新安装一次。 
C、客户机和服务器的计算机名称相同,导致系统找不到服务器的准确位置。检查客户机和服务器的计算机名称是否相同,如果相同,则在网上邻居上将其中一台的计算机名修改。 

D、服务器所在的计算机没有打上SQL的SP3/SP4补丁。点任务栏SQL服务器右键有个关于,如果版本号是:8.00.760是打了sp3补丁,8.00.2039是打了sp4补丁,否则,要打上其中一个补丁。 

#14


小弟记得用完东西要放回去,该断开的要断开,该销毁的要销毁!

#15


引用 14 楼 888888888888 的回复:
小弟记得用完东西要放回去,该断开的要断开,该销毁的要销毁!

良好的编程习惯 不是可有可无的!!

#16


受教了,PB有这种限制

#17


该回复于2012-01-19 09:39:10被版主删除

#18


该回复于2012-01-29 13:22:17被版主删除

#19


引用 10 楼 pb2005 的回复:
又测试了一下,脱离PB9的环境,直接运行编译后的程序是没有问题的,即使超过25个进程,也依旧可以连接SQL,真是不明白,为什么PB9下SQL进程超过25个为什么就会连不上呢


SQL的鏈接數不止25個,是PB鏈接SQL是的限制,建議在close事件中添加disconnect(sqlca).

#20


我PB9+SQL2005
放个假回来,死活是连接不上
A SQLServer request resulted in a bad return code or status but no error message was returned.
WIN7系统,补丁重新安装依旧是不行,不知道问题出在哪
在重新安补丁的时候检查锁定文件时,我的服务明明启动了,却没有检查出来锁定的文件!!sqlserver在任务管理器中呢,以前是能检查到锁定的。
不知道问题是什么,但我进入管理器,把sa的密码又强制改了一下(还是原密码),结果就可以连接了!

#21


引用 14 楼 888888888888 的回复:
小弟记得用完东西要放回去,该断开的要断开,该销毁的要销毁!


连接完数据库一定要断开连接。算是PB很基本的编程习惯。

#22


引用 21 楼 wz19870429 的回复:
引用 14 楼 888888888888 的回复:
小弟记得用完东西要放回去,该断开的要断开,该销毁的要销毁!


连接完数据库一定要断开连接。算是PB很基本的编程习惯。
为什么偶尔会连不上SQL数据库呢,高手请进,100分相送!!!!!

#23


楼主,我也遇到过你这样的问题。
无他,关闭pb再重新打开吧。