给你例子:用的正是OLEDB,不懂可以再问.下面这段例子中:1.strDs需要你传入客户端建立的数据库连接名(Net8 Configuration Assistant来建立).
2.strPws:连接数据库用户的口令
3.strUserID :连接数据库用户名
4.ErrNo ,ErrDes :程序出错时返回的错误号和错误描述
5.intCursor :默认参数为采用客户端的游标类型  Public Function connectDB(strDs As String, strPws As String, strUserID As String, _
 ErrNo As Long, ErrDes As String, Optional ByVal intCursor As ADODB.CursorLocationEnum = adUseServer) As Boolean
On Error GoTo ErrorHandle
    Dim strCnStr As String
        
    If Not (cn Is Nothing) Then
        Set cn = Nothing
    End If
    
    Set cn = New ADODB.Connection
           strCnStr = "Data Source= " + strDs + ";" + "  PASSWORD= " + strPws + ";" + "  User ID= " + strUserID + ";" + " Persist Security Info=True"    'connect database
    With cn
        .CursorLocation = intCursor
        .Provider = "OraOLEDB.Oracle.1;"
        .ConnectionString = strCnStr
        .ConnectionTimeout = 20
        .Open
        
    End With
    'if user demands transaction then use it
'    If UseTransaction = True Then
'        cn.BeginTrans
'    End If
    
    connectDB = True
    Exit Function
    
ErrorHandle:    connectDB = False
    ErrNo = Err.Number
    ErrDes = Err.DescriptionEnd Function

解决方案 »

  1.   

    谢谢这位朋友
    前3个参数很容易懂
    但是
    4.ErrNo ,ErrDes :程序出错时返回的错误号和错误描述
    5.intCursor :默认参数为采用客户端的游标类型
    我该传递什么参数啊?
      

  2.   

    还有就是
    我现在在客户机上做这个连接
    我这台机器没有安装ORACLE
    ODBC里有的也是Microsoft提供的哪个数据源
    请问我需要安装什么其他软件吗?
      

  3.   

    你需要,安装oracle SQL*NET的客户端。因为microsoft的oracle oledb provider需要SQL*NET。
      

  4.   

    请问这个oracle SQL*NET是不是安装了Oracle客户端之后就有了?
      

  5.   

    我现在安装了ORACLE客户端
    ODBC里已经有了一个ORACLE ODBC DRIVER
    但是我还是连接不成功啊connectDB SUN, SA, SA, 1, 1, adUseClient我传这样的值对吗?