为什么会所有客户端都不能使用呢,有什么办法可以解决
16 个解决方案
#1
把連接時間修改一下呢。。。
eg:
eg:
CommandTimeout:=300;
ConnectionString:=3;
#2
还没解决啊?sql2000还是连接限制数为1的个人版?
#3
如果不是,那是不是有什么语句执行造成死锁什么的呢?
#4
ado直接连数据库?
#5
procedure TData1.DataModuleCreate(Sender: TObject);
begin
ini:=TInifile.Create(ExtractFilePath(paramstr(0))+'myini.ini'); //获取应用程序
try
ServerIP:=ini.ReadString('ServerInfo','ServerIP','');
sQLDBName:=ini.ReadString('ServerInfo','sQLDBName','');
SQLUserID:=ini.ReadString('ServerInfo','SQLUserID','');
SQLPwd:=ini.ReadString('ServerInfo','SQLPwd','');
version:=ini.ReadString('ServerInfo','version','');
finally
ini.Destroy;
end;
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Password='+SQLPwd+';Persist Security Info=True;User ID='+SQLUserID+';Initial Catalog='+SQLDBName+';Data Source='+ServerIP+'';
try
ADOConnection1.Connected := true;
except
on e:exception do begin
showmessage('网络故障!请配置网络连接!');
application.Terminate;
exit;
end;
end;
end;
登录没有问题的,不知道什么时候出现问题,登录不上不会影响到其它电脑,sql2000没问题,别人程序也用这个sql2000,也不止五台电脑,应该没有关系
begin
ini:=TInifile.Create(ExtractFilePath(paramstr(0))+'myini.ini'); //获取应用程序
try
ServerIP:=ini.ReadString('ServerInfo','ServerIP','');
sQLDBName:=ini.ReadString('ServerInfo','sQLDBName','');
SQLUserID:=ini.ReadString('ServerInfo','SQLUserID','');
SQLPwd:=ini.ReadString('ServerInfo','SQLPwd','');
version:=ini.ReadString('ServerInfo','version','');
finally
ini.Destroy;
end;
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Password='+SQLPwd+';Persist Security Info=True;User ID='+SQLUserID+';Initial Catalog='+SQLDBName+';Data Source='+ServerIP+'';
try
ADOConnection1.Connected := true;
except
on e:exception do begin
showmessage('网络故障!请配置网络连接!');
application.Terminate;
exit;
end;
end;
end;
登录没有问题的,不知道什么时候出现问题,登录不上不会影响到其它电脑,sql2000没问题,别人程序也用这个sql2000,也不止五台电脑,应该没有关系
#6
有没有办法可以跟踪一下,是哪个存储过程是不是出了问题
#7
不是有Profiler吗?
#8
挺难的,一般要五天左右才会出问题!搞不清楚哪里出问题,我把sql 2000server 的登录时间和分析器的查询时间都设为30秒,CommandTimeout:=0;
ConnectionString:=3;看有没有用
#9
学习!
#10
SQL升级吧。
#11
sql2000+sp4
#12
这个问题我以前给别人做程序也遇见过
也是5 6 天以上就出现问题
当时检查了 服务器和程序
结果发现时另外一个程序的问题(都去调用了一个东西,造成服务器sql堵塞)
也没有找到到底是哪里堵塞了
反正就是将另一个程序改了就OK
了
我说这个 意思就是说 看有没有可能是其他程序的冲突问题
也是5 6 天以上就出现问题
当时检查了 服务器和程序
结果发现时另外一个程序的问题(都去调用了一个东西,造成服务器sql堵塞)
也没有找到到底是哪里堵塞了
反正就是将另一个程序改了就OK
了
我说这个 意思就是说 看有没有可能是其他程序的冲突问题
#13
我把数据库服务器也换了,还是这样,难道客户端有问题
#14
服务器要升级到SP4
客户端要把服务器升及好,在system32中有9个dll文件考到客户机的system32(win2000以上系统)目录下
9个文件是:dbmsadsn.dll,dbmsgnet.dll,dbmsqlgc.dll,dbmsrpcn.dll,dbmsvinn.dll,dbnetlib.dll,
dbnmpntw.dll,msvcr71.dll,ntwdblib.dll
客户端要把服务器升及好,在system32中有9个dll文件考到客户机的system32(win2000以上系统)目录下
9个文件是:dbmsadsn.dll,dbmsgnet.dll,dbmsqlgc.dll,dbmsrpcn.dll,dbmsvinn.dll,dbnetlib.dll,
dbnmpntw.dll,msvcr71.dll,ntwdblib.dll
#15
服务器我升级了,这9个dll什么意思呀,我是二层结构的,有这么麻烦吗
#16
若是偶然现象,可能是网络问题
把ADOCONNECTION的连接超时时间设置长些看看
再不行就写个循环,比如尝试3次,也许第2次连上了
把ADOCONNECTION的连接超时时间设置长些看看
再不行就写个循环,比如尝试3次,也许第2次连上了
#1
把連接時間修改一下呢。。。
eg:
eg:
CommandTimeout:=300;
ConnectionString:=3;
#2
还没解决啊?sql2000还是连接限制数为1的个人版?
#3
如果不是,那是不是有什么语句执行造成死锁什么的呢?
#4
ado直接连数据库?
#5
procedure TData1.DataModuleCreate(Sender: TObject);
begin
ini:=TInifile.Create(ExtractFilePath(paramstr(0))+'myini.ini'); //获取应用程序
try
ServerIP:=ini.ReadString('ServerInfo','ServerIP','');
sQLDBName:=ini.ReadString('ServerInfo','sQLDBName','');
SQLUserID:=ini.ReadString('ServerInfo','SQLUserID','');
SQLPwd:=ini.ReadString('ServerInfo','SQLPwd','');
version:=ini.ReadString('ServerInfo','version','');
finally
ini.Destroy;
end;
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Password='+SQLPwd+';Persist Security Info=True;User ID='+SQLUserID+';Initial Catalog='+SQLDBName+';Data Source='+ServerIP+'';
try
ADOConnection1.Connected := true;
except
on e:exception do begin
showmessage('网络故障!请配置网络连接!');
application.Terminate;
exit;
end;
end;
end;
登录没有问题的,不知道什么时候出现问题,登录不上不会影响到其它电脑,sql2000没问题,别人程序也用这个sql2000,也不止五台电脑,应该没有关系
begin
ini:=TInifile.Create(ExtractFilePath(paramstr(0))+'myini.ini'); //获取应用程序
try
ServerIP:=ini.ReadString('ServerInfo','ServerIP','');
sQLDBName:=ini.ReadString('ServerInfo','sQLDBName','');
SQLUserID:=ini.ReadString('ServerInfo','SQLUserID','');
SQLPwd:=ini.ReadString('ServerInfo','SQLPwd','');
version:=ini.ReadString('ServerInfo','version','');
finally
ini.Destroy;
end;
ADOConnection1.Connected:=false;
ADOConnection1.ConnectionString:= 'Provider=SQLOLEDB.1;Password='+SQLPwd+';Persist Security Info=True;User ID='+SQLUserID+';Initial Catalog='+SQLDBName+';Data Source='+ServerIP+'';
try
ADOConnection1.Connected := true;
except
on e:exception do begin
showmessage('网络故障!请配置网络连接!');
application.Terminate;
exit;
end;
end;
end;
登录没有问题的,不知道什么时候出现问题,登录不上不会影响到其它电脑,sql2000没问题,别人程序也用这个sql2000,也不止五台电脑,应该没有关系
#6
有没有办法可以跟踪一下,是哪个存储过程是不是出了问题
#7
不是有Profiler吗?
#8
挺难的,一般要五天左右才会出问题!搞不清楚哪里出问题,我把sql 2000server 的登录时间和分析器的查询时间都设为30秒,CommandTimeout:=0;
ConnectionString:=3;看有没有用
#9
学习!
#10
SQL升级吧。
#11
sql2000+sp4
#12
这个问题我以前给别人做程序也遇见过
也是5 6 天以上就出现问题
当时检查了 服务器和程序
结果发现时另外一个程序的问题(都去调用了一个东西,造成服务器sql堵塞)
也没有找到到底是哪里堵塞了
反正就是将另一个程序改了就OK
了
我说这个 意思就是说 看有没有可能是其他程序的冲突问题
也是5 6 天以上就出现问题
当时检查了 服务器和程序
结果发现时另外一个程序的问题(都去调用了一个东西,造成服务器sql堵塞)
也没有找到到底是哪里堵塞了
反正就是将另一个程序改了就OK
了
我说这个 意思就是说 看有没有可能是其他程序的冲突问题
#13
我把数据库服务器也换了,还是这样,难道客户端有问题
#14
服务器要升级到SP4
客户端要把服务器升及好,在system32中有9个dll文件考到客户机的system32(win2000以上系统)目录下
9个文件是:dbmsadsn.dll,dbmsgnet.dll,dbmsqlgc.dll,dbmsrpcn.dll,dbmsvinn.dll,dbnetlib.dll,
dbnmpntw.dll,msvcr71.dll,ntwdblib.dll
客户端要把服务器升及好,在system32中有9个dll文件考到客户机的system32(win2000以上系统)目录下
9个文件是:dbmsadsn.dll,dbmsgnet.dll,dbmsqlgc.dll,dbmsrpcn.dll,dbmsvinn.dll,dbnetlib.dll,
dbnmpntw.dll,msvcr71.dll,ntwdblib.dll
#15
服务器我升级了,这9个dll什么意思呀,我是二层结构的,有这么麻烦吗
#16
若是偶然现象,可能是网络问题
把ADOCONNECTION的连接超时时间设置长些看看
再不行就写个循环,比如尝试3次,也许第2次连上了
把ADOCONNECTION的连接超时时间设置长些看看
再不行就写个循环,比如尝试3次,也许第2次连上了