数据库并发访问的问题

chennai 2006-11-01 12:25:30
我写一个程序,名:A.EXE,复制一份为:B.EXE

我先运行A,A连接了数据,并且对表D执行了一次查询

这时再运行B,B却连接不了数据库。

程序使用ADO组件的,访问SQL SERVER数据库,

各位,请帮我解决一下以下几个菜问题:

这是不是数据库不接受并发访问?

还是第一个程序访问数据库时,对数据库作了锁定?但ADO组件我几乎没有设置过其它属性。

请问如何才可以解决对数据库并发访问?

希望各位兄弟功德无量,帮帮忙

...全文
255 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
柯本 2006-11-02
  • 打赏
  • 举报
回复
程序看上去没什么问题,查你的服务器(你的SQL SERVER是什么版本的?有没有打补丁?)并检查你的网络
另外,有条件的话,换个机器装个SQLSERVER
txb2008 2006-11-02
  • 打赏
  • 举报
回复
在数据库服务器上把时间设置长点.
zhitaoyang 2006-11-02
  • 打赏
  • 举报
回复
我2个程序同时连接就没有什么问题
hawk_e2e 2006-11-01
  • 打赏
  • 举报
回复
这可能是数据库那边的设置问题,不关客户端的事。
zzd8310 2006-11-01
  • 打赏
  • 举报
回复
没用过ADO
以前用过DAO
我都是打开数据库 操作完 就关掉
chennai 2006-11-01
  • 打赏
  • 举报
回复
访问数据库的代码哪下
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;

2,498

社区成员

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

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