我写一个程序,名:A.EXE,复制一份为:B.EXE我先运行A,A连接了数据,并且对表D执行了一次查询这时再运行B,B却连接不了数据库。程序使用ADO组件的,访问SQL SERVER数据库,各位,请帮我解决一下以下几个菜问题:这是不是数据库不接受并发访问?还是第一个程序访问数据库时,对数据库作了锁定?但ADO组件我几乎没有设置过其它属性。请问如何才可以解决对数据库并发访问?希望各位兄弟功德无量,帮帮忙

解决方案 »

  1.   

    访问数据库的代码哪下
    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.   

    没用过ADO
    以前用过DAO
    我都是打开数据库  操作完 就关掉
      

  3.   

    程序看上去没什么问题,查你的服务器(你的SQL SERVER是什么版本的?有没有打补丁?)并检查你的网络
    另外,有条件的话,换个机器装个SQLSERVER