用DELPHI adoconnection 连接局域网内sql数据库服务器,在程序启动是输入要登陆的服务器和数据库,用户名,密码;代码如下:
try
  begin
    with ADOConnection1 do
    begin
      Close;
      ConnectionString:='Provider=SQLOLEDB.1;'
      +'Password =' + Edit4.Text
      +';Persist Security Info=True;'
      +'User ID ='+ Edit3.Text
      +';Initial Catalog='+edit2.Text+';Data Source='+ edit1.Text ;
      Open;
      if Connected then
      begin
        Form1.Show;
        Form2.Hide;
      end;
    end;
   end;
except
  application.MessageBox('数据库连接失败!')
end;客户端电脑为什么只有在以Administrator身份启动后,运行我的程序输入服务器名,数据库名,
用户名,密码后才能登陆,而在其他身份上登陆则无法连接到服务器数据库

解决方案 »

  1.   

    是啊,在客戶端电脑启动时以administrator登陆,可以登陆数据库,但如果登陆时不用administrator,而用其他用户名则不能登陆,会是什么设置问题呢?
      

  2.   

    你的數據庫使用“Windows authentication”還是“SQL Server authentication”?我懷疑你使用了前者。
      

  3.   

    我用的sql server authentication因为我的程序登陆时要输入服务器名,数据库名,数据库服务器授权的用户明和密码?这个我是肯定的
      

  4.   

    to liu23xing(编程小猫1000号),你指的其他用户设置权限是指什么呢?如果电脑启动以administrator登陆,我用在服务器分配的几个拥护登陆都可以
      

  5.   

    1.把原始錯誤信息Show出來檢查
    try
       //.....
    except
      on e: Exception do
        ShowMessage('Error:'+e.Message)
    end;2.安裝數據庫的盤是everyone都可以訪問嗎?
      

  6.   

    谢谢笑傲江湖,用你的方法在电脑以非administrator登陆下,结果显示:sql server does not exist or access denied!
    请问:服务器肯定是存在的,登陆的用户名和密码也在数据库服务器中设置过
      

  7.   

    解决这个问题的方法是在服务器上也建立一个和你在客户端登录使用的用户名,密码完全一致的帐户。 另一个方法是启用服务器的 Guest用户或许能解决。
    第一个方法是肯定可以的。
      

  8.   

    是不是没在服务器sql数据库里的安全性里面建立用户许可
      

  9.   

    zxq1207(枫轻扬)  
    解决这个问题的方法是在服务器上也建立一个和你在客户端登录使用的用户名,密码完全一致的帐户。
    那要是用户很多呢,要为每一个用户都建立帐号吗? 我也正在用ado连接网络上的数据库,也出现了这样的问题,那位大虾能指点指点阿!!!!
      

  10.   

    "loginprompt属性设为false即可"不是这个原因,哪位如果解决了,请告诉一声
      

  11.   

    "解决这个问题的方法是在服务器上也建立一个和你在客户端登录使用的用户名,密码完全一致的帐户。"我就是这么设的,关键是我的电脑的操作系统登陆时使用为administrator才可以,起其他用户名登陆操作系统,则我的程序无法登陆到数据库服务器
      

  12.   

    +';Persist Security Info=True;' 改为+';Persist Security Info=False;',你用的是Windowd的信用联接。
      

  13.   

    各位你们的问题解决了吗?我的还是没解决啊! alren(alren)  说的对吗?
    有解决问题的吗?
      

  14.   

    +';Persist Security Info=True;' 改为+';Persist Security Info=False;',你用的是Windowd的信用联接。