ADO连接字符串如下:Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=mjx;Initial Catalog=水情自动测报;Data Source=192.168.0.39密码是123,用户mjx,在DELPHI中设计时可以连接,在企业管理器中也可以连接,就是在服务运行时出错,提示如下:
用户’sa’登录失败。原因:未与信任 SQL Server 连接相关联。但是我的密码是对的啊,我在设计时可以连接,而且企业管理器也可以连接。各位帮忙看看是什么原因。
(备注:使用的是混合验证模式,服务程序和数据库不在同一台计算机)

解决方案 »

  1.   

    不要在Ado的属性中进行设置,直接在主窗体创建的时候,用代码进行设置。
       try
          //1.数据库
          DN.DataModule1.AdoCon.Close;
          ConnString :=  'Provider=SQLOLEDB.1;Password='+密码+
                         ';Persist Security Info=True;User ID='+账号+
                         ';Initial Catalog='+数据库名+';Data Source='+服务器名;
          DN.DataModule1.AdoCon.ConnectionString := ConnString;
          DN.DataModule1.AdoCon.Open;
       except
          Application.MessageBox('数据库连接不上,请检查数据连接配置!','警告',MB_OK+MB_ICONWARNING);
          Exit;
       end;
      

  2.   

    用混合模式,註冊並啟用服務,配置的連接最好寫成INI再調用
      

  3.   

    我刚写的三层数据库程序出现的问题是一个样。多次调试,终于成功。建议如下:
    客户端:
        1、在登录窗口设置ConnectStr,并建议连接,不要在数据模块中,确定ConnectStr;
        2、使用ini确定ConnectStr值;
        3、SQL登录设置混合方式;
        4、在登录窗口设置ConnectStr连接测试;
        
    操作系统:
    一、安装IIS
    二、安装SQL
        1、验证选择:windows和SQL混合模式
        2、用户:sa,密码:******
    三、使用SQL Server Configuration Manager
       SQL Server 2005网络设置--网络协议--TCP/IP  启用
    四、三层DLL文件 
        1、拷贝midas.dll文件到C:\windows\system32\
        2、为midas.dll文件注册:开始--运行:regsvr32 c:\winnt\system32\midas.dll直接 regsvr32 midas.dll即可)
    五、设置网络连接
        1、TCP/IP
        2、局域网连接,网上邻居
    六、windows网络设置
        1、打开“我的电脑”,在菜单上选择“工具”->“文件夹选项”->“查看”,清除“使用简单文件共享(推荐)”的选择。
        2. 右键点击“我的电脑”,选择“管理”,选择“本地用户和组”->“用户”,右键点击Guest用户,选“属性”,清除“帐户已停用”的选择。 
        3. 点击“开始”->“运行”,输入secpol.msc,选择左边的“本地策略”->“用户权力指派”,
        (1)双击右边的“从网络访问此计算机”,保证其中有Everyone。
        (2)双击右边的“拒绝从网络访问此计算机”,保证其是空的。 
        4. 点击“开始”->“运行”,输入secpol.msc,选择左边的“本地策略”->“安全选项”
        (1)确认右边的“网络访问:本地帐户的共享与安全模式”为“经典”;  
        (2)确认右边的“Microsoft网络客户:为通讯启用数字签名(总是)”为“已停用”;
        (3)确认右边的“Microsoft网络客户:为通讯启用数字签名(如果服务器允许)”为“已启用”;
        (4)确认右边的“Microsoft网络服务器:为通讯启用数字签名(总是)”为“已停用”;
        (5)确认右边的“Microsoft网络服务器:为通讯启用数字签名(如果服务器允许)”为“已启用”。 通过上述设置,完成通过。