数据库并发访问的问题
我写一个程序,名:A.EXE,复制一份为:B.EXE
我先运行A,A连接了数据,并且对表D执行了一次查询
这时再运行B,B却连接不了数据库。
程序使用ADO组件的,访问SQL SERVER数据库,
各位,请帮我解决一下以下几个菜问题:
这是不是数据库不接受并发访问?
还是第一个程序访问数据库时,对数据库作了锁定?但ADO组件我几乎没有设置过其它属性。
请问如何才可以解决对数据库并发访问?
希望各位兄弟功德无量,帮帮忙
问题点数:100、回复次数:6Top
1 楼chennai(脱西炽勒)回复于 2006-11-01 01:04:16 得分 0
访问数据库的代码哪下
procedure TForm4.Button1Click(Sender: TObject);
var str: string;
i,k: integer;
begin
try
str := 'Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;'
+ 'User ID=sa;Initial Catalog=blsys;Data Source=king/bolang';
adoconnection1.Close;
adoconnection1.ConnectionString := str;
adoconnection1.Open; //第二个程序在这里就超时了
query3.Close;
query3.SQL.Text := 'select * from a_server_sign';
query3.Open;
query3.First;
k := query3.RecordCount;
for i := 1 to k do
begin
grid2.Rows[i].Strings[0] := query3.fieldbyname('server_ip').AsString;
grid2.Rows[i].Strings[1] := query3.fieldbyname('table_no').AsString;
grid2.Rows[i].Strings[2] := query3.fieldbyname('port1').AsString;
query3.Next;
end;
query3.Close;
showmessage('數據庫連接成功');
except
showmessage('數據庫連接失敗');
end;
end;Top
2 楼zzd8310(东北笑笑生)(经常被模仿,从未被超越!||我之所以把昵称写这么长。就是想看看昵称到底能写多长,真是长)回复于 2006-11-01 08:07:06 得分 20
没用过ADO
以前用过DAO
我都是打开数据库 操作完 就关掉Top
3 楼hawk_e2e(hawk_e2e)回复于 2006-11-01 12:18:17 得分 20
这可能是数据库那边的设置问题,不关客户端的事。Top
4 楼txb2008(等你)回复于 2006-11-02 11:58:37 得分 20
在数据库服务器上把时间设置长点.Top
5 楼keiy()回复于 2006-11-02 12:08:18 得分 20
程序看上去没什么问题,查你的服务器(你的SQL SERVER是什么版本的?有没有打补丁?)并检查你的网络
另外,有条件的话,换个机器装个SQLSERVERTop
6 楼zhitaoyang(风云暴)回复于 2006-11-02 17:38:03 得分 20
我2个程序同时连接就没有什么问题Top




