Public rsNew As ADODB.Recordset
Public rs As ADODB.Recordset
Public CnNew As ADODB.Connection
Public addFlag As Boolean
Public Function OpenCn() As Boolean
Dim Mag As String
On Error GoTo strErrMag
Set CnNew = New ADODB.Connection
CnNew.ConnectionTimeout = 25
CnNew.Provider = "SQLOLEDB"
CnNew.Properties("data source").value = "192.168.0.14"
CnNew.Properties("initial catalog").value = "test"
CnNew.Properties("integrated security").value = "SSPI"
CnNew.Properties("user id").value = "sa"
CnNew.Properties("password").value = "123456"
CnNew.Open
OpenCn = True
addFlag = True
Exit Function
strErrMag:
Mag = ""
Call MsgBox(Mag, vbOKCancel, "´íÎó:Êý¾Ý¿âÁ¬½Ó")
addFlag = False
End
End FunctionPublic Sub Clocn()
On Error Resume Next
If CnNew.State <> adStateClosed Then CnNew.Close
Set CnNew = Nothing
End Sub
Public Function OpenRs(ByVal strSql As String) As Boolean
Dim Mag As String
Dim rpy As Boolean
On Error GoTo strErrMag
Set rsNew = New ADODB.Recordset
If addFlag = False Then rpy = OpenCn
With rsNew
.ActiveConnection = CnNew
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open strSql
End With
addFlag = True
OpenRs = True
Exit Function
strErrMag:
Mag = ""
Call MsgBox(Mag, vbOKOnly, "")
OpenRs = False
End Function为什么连接出错,而连接本机是正常的。并且cnNew.provider的值并不是我设置的sqloledb,为什么啊,我明明设置的啊
Public rs As ADODB.Recordset
Public CnNew As ADODB.Connection
Public addFlag As Boolean
Public Function OpenCn() As Boolean
Dim Mag As String
On Error GoTo strErrMag
Set CnNew = New ADODB.Connection
CnNew.ConnectionTimeout = 25
CnNew.Provider = "SQLOLEDB"
CnNew.Properties("data source").value = "192.168.0.14"
CnNew.Properties("initial catalog").value = "test"
CnNew.Properties("integrated security").value = "SSPI"
CnNew.Properties("user id").value = "sa"
CnNew.Properties("password").value = "123456"
CnNew.Open
OpenCn = True
addFlag = True
Exit Function
strErrMag:
Mag = ""
Call MsgBox(Mag, vbOKCancel, "´íÎó:Êý¾Ý¿âÁ¬½Ó")
addFlag = False
End
End FunctionPublic Sub Clocn()
On Error Resume Next
If CnNew.State <> adStateClosed Then CnNew.Close
Set CnNew = Nothing
End Sub
Public Function OpenRs(ByVal strSql As String) As Boolean
Dim Mag As String
Dim rpy As Boolean
On Error GoTo strErrMag
Set rsNew = New ADODB.Recordset
If addFlag = False Then rpy = OpenCn
With rsNew
.ActiveConnection = CnNew
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open strSql
End With
addFlag = True
OpenRs = True
Exit Function
strErrMag:
Mag = ""
Call MsgBox(Mag, vbOKOnly, "")
OpenRs = False
End Function为什么连接出错,而连接本机是正常的。并且cnNew.provider的值并不是我设置的sqloledb,为什么啊,我明明设置的啊
Dim Mag As String
dim strSQL AS STRINGOn Error GoTo strErrMag
Set CnNew = New ADODB.ConnectionstrSQL ="Provider=sqloledb;Data Source=192.168.0.14;Initial Catalog=" & "csdb" & ";User Id=sa;Password=123456"CnNew.ConnectionString=strSQL
CnNew.openOpenCn = True
addFlag = True
Exit Function
strErrMag:
Mag = ""
Call MsgBox(Mag, vbOKCancel, "´íÎó:Êý¾Ý¿âÁ¬½Ó")
addFlag = False
End
End Function
CnNew.CursorLocation = adUseClient
CnNew.ConnectionString="PROVIDER=MSDASQL;Driver=SQL Server;Server=192.168.0.14;UID=sa;PWD=123456;Database=test;"
就能连接成功了
为什么啊
cnnDB.Open
这样试试?