我做了一个VB+SQL程序,运行时,数据库已经连上,
但是,当我们选则一个表(比如seed),执行查询或输入操作时,却出现如下错误:
[DBNETLIB][ConnectionOpen(Connect()).]SQL Server 数据库不存在或拒绝访问
不知是什么问题?
是这样哦,这是我替外地一个朋友编的一个程序,我在我这儿用是一切正常,不知他那里为什么会出错。可能不是程序问题吧,或许是SQL设置有错? 
 

解决方案 »

  1.   

    数据库连接字符串是这样的:
    con.ConnectionString = "driver={sql server};server=" & Text1 & ";uid=" & Text2 & ";pwd=" & Text3 & ";database=Ma_Lab"
    不应该有错啊?我在我这里运行正常啊。
      

  2.   

    对方的数据库验证模式是混合模式的吗?Text1的值是否正确。用户名以及密码是否正确?
      

  3.   

    是这样,我先设计了一个登录窗口,Text1为服务器的IP地址,Text2为用户名,Text3为密码。连接成功就转入主窗口。然后选择表,再打开查询窗口。为什么登录时连接数据库成功,查询时却显示拒绝访问呢?
      

  4.   

    登录后,这些text还有值吗?如果登录和查询的连接字符串不一样,那当然会出问题了。
      

  5.   

    你朋友那边执行的时候可以ping到那个SQL所在的server么?
      

  6.   

    说的好象有道理。这个登录窗口的代码是:
    Private Sub Command4_Click()
      On Error GoTo 10
     If con.State = adStateOpen Then con.Close
     If Text1 = "" Or Text2 = "" Then GoTo 10
     u = Text2.Text
     v = Text3.Text
     If u = "guest" Then
     v = "guest"
     End If
     con.ConnectionString = "driver={sql server};server=" & Text1 & ";uid=" & Text2 & ";pwd=" & v & ";database=Ma_Lab"
     con.ConnectionTimeout = 5
     con.Open
     cmd.ActiveConnection = con
      Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Password=" & v & ";Persist Security Info=False;User ID=" & Text2 & ";Initial Catalog=Ma_Lab;Data Source=" & Text1
      Me.Hide
      window.Show
      Exit Sub
    10 MsgBox "连接数据库失败!", , "错误"
    End SubPrivate Sub Command5_Click()
     Unload Me
    End Sub查询窗口的部分代码:
    Private Sub Form_Load()  Adodc1.CommandType = adCmdText
      Adodc1.ConnectionString = connectionform.Adodc1.ConnectionString
    End Sub
    Private Sub Command1_Click()  Adodc1.RecordSource = "select * from seeds_stock where " & Combo1.Text & "='" & Text1.Text & "'"
    End Sub
    这样写有问题吗?
      

  7.   

    我在本地ping服务器的ip是通的,但telnet [服务器ip] 1433 显示连接失败。但我在程序中登录SQL是成功的,这是怎么回事?