sql在2003上,VB在XP上
为什么有的机器能连上,有的相同版本的xp就是连不上呢
-------------------------------------------------
你是用什么连的...ADO?
如果你用服务器名连不上的话,可试试用服务器IP试试看
连不上的话,有可能问题出在那台电脑OLEDB或者ODBC库上面

解决方案 »

  1.   

    Public conn As New ADODB.Connection
    Public rs As New ADODB.Recordset
    Public addFlag As BooleanPublic Function OpenCn() As Boolean
    Dim mag As String
    On Error GoTo strerrmag
    Set conn = New ADODB.Connection
    conn.ConnectionTimeout = 25
    conn.Provider = "sqloledb"
    conn.Properties("data source").Value = "192.168.1.25"
    conn.Properties("initial catalog").Value = "dbcom"
    conn.Properties("integrated security").Value = "SSPI"
    conn.Properties("user id").Value = "sa"
    conn.Properties("password").Value = ""conn.Open
    OpenCn = True
    addFlag = True
    Exit Function
    strerrmag:
    mag = "Data can@#t connect"
    Call MsgBox(mag, vbOKCancel, "Error:Data connect")
    addFlag = False
    End
    End Function
    Public Sub clocn()
    On Error Resume Next
    If conn.State <> adStateClosed Then conn.Close
    Set conn = Nothing
    End SubPublic Function openrs(ByVal strsql As String) As Boolean
    Dim mag As String
    Dim rpy As Boolean
    On Error GoTo strerrmag
    Set rs = New ADODB.Recordset
    If addFlag = False Then rpy = True
    With rs
    .ActiveConnection = conn
    .CursorLocation = adUseClient
    .CursorType = adOpenKeyset
    .LockType = adLockOptimistic
    .Open strsql
    End With
    addFlag = True
    openrs = True
    Exit Function
    strerrmag:
    mag = "data not connect"
    Call MsgBox(mag, vbOKCancel, "error:connect")
    openrs = False
    End
    End Function
    Public Sub clors()
    On Error Resume Next
    If rs.State <> adStateClosed Then rs.Clone
    Set rs = Nothing
    End Sub
    此为连接代码
    用ODBC连测试成功,SQL客户端连成功,可就是VB提示连不上,没有具体错误提示
      

  2.   


    conn.Properties("integrated security").Value = "SSPI"
    去掉,因为这个属性是用于使用WINDOWS验证登录的.