我用Win2000 Pro + VB6 + SQL Server2000
我在本机中先用SQL Server建立了一个名为xlc的本地数据库,没有设访问密码,本机名为sun,win2000的登录账号是abc,密码是123。我想用adodb连接这个数据库  Dim adoCN As New adodb.Connection      '连接对象
  Dim rs As New adodb.Recordset          '记录集对象
  Dim strcon As String, sqlstr As String
  strcon = "Provider=SQLOLEDB;Server=sun;Uid=sa;Pwd=;Database=xlc"   '连接字符串
  adoCN.Open strcon '打开连接(数据库)
  rs.CursorLocation = adUseClient    '使用客户端游标
  sqlstr = "SELECT * FROM xlc"
  Set datagird1.DataSource = rs     '将记录集显示在datagrid控件中
  DataGrid1.Refresh提示错误: 实时错误'-2147467259  (80004005)
           用户'sa'登录失败。 原因:未与信任 SQL Server 连接相关联

解决方案 »

  1.   

    你建立ODBC数据源的时候使用了
    “使用网络登录 ID 的 Windows NT 验证”
    把它改为
    “使用用户输入登录 ID 和密码的 SQL Server 验证”
      

  2.   

    你最好用一个ADO数据控件想生成一个连接字符串,测试连接成功后,再把连接字符串复制过来,这样就会减少出错的机会了
      

  3.   

    如果是使用sa用户,密码为sa下面的connectionstring不会错
    Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=NetDB;Data Source=10.97.0.40
    可以参照下边的代码:
    Option Explicit
    'Use ADO2.7
    Private Sub Form_Load()
        Dim Cn As ADODB.Connection
        Dim Rs As ADODB.Recordset
        Set Cn = New ADODB.Connection
        Set Rs = New ADODB.Recordset
        Cn.CursorLocation = adUseClient
        Rs.CursorLocation = adUseClient
        Cn.Open "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=NetDB;Data Source=10.97.0.40"
        Set Rs = Cn.Execute("select * from hr_users")
        MsgBox Rs.RecordCount
        Set DataGrid1.DataSource = Rs'    Rs.Close
    '    Cn.Close
    '    Set Rs = Nothing
    '    Set Cn = Nothing
        
        
    End Sub