【发布时间】:2023-04-06 05:20:01
【问题描述】:
我正在尝试从 excel 连接到 oracle 数据库。这在我手动创建 DSN 时工作正常,但现在我想使用 VB 以编程方式创建 DSN。请帮助我,我是 vbscripting 的新手。
【问题讨论】:
标签: vbscript
我正在尝试从 excel 连接到 oracle 数据库。这在我手动创建 DSN 时工作正常,但现在我想使用 VB 以编程方式创建 DSN。请帮助我,我是 vbscripting 的新手。
【问题讨论】:
标签: vbscript
这里是一些示例代码:
Dim objConn
Set objConn = CreateObject("ADODB.Connection")
Dim connString
connString = "YOUR ORACLE CONNECTION STRING HERE!"
objConn.Open connString
Dim objRS
Dim strSQL
strSQL = "SELECT * FROM YourTable"
Set objRS = objConn.Execute(strSQL)
If objRS.EOF Then
' No Records Returned
Else
Do
' Do what you want with your output
objRS.MoveNext
Loop Until objRS.EOF
End If
End With
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
使用Oracle Connection Strings 页面查找您的连接字符串。这是 VBScript,对于 VB,您可能需要进行一些更改,例如定义变量类型。
Dim strSQL As String
【讨论】:
以下是如何将 Oracle Objects 用于 Excel 中的 OLE 自动化的示例:
http://download.oracle.com/docs/cd/B28359_01/win.111/b28378/clients.htm#CIHFAHJJ
以上链接中的示例:
...
' Declare variables
Dim OraSession As OraSession
Dim OraDatabase As OraDatabase
Dim OraDynaset As OraDynaset
Dim OraFields As OraFields
' Create the OraSession Object. The argument to CreateObject is the
' name by which the OraSession object is known to the OLE system.
Set OraSession = CreateObject("OracleInProcServer.XOraSession")
' Create the OraDatabase Object by opening a connection to Oracle.
Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&)
' Create the OraDynaset Object.
Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&)
' You can now display or manipulate the data in the dynaset. For example:
Set OraFields = OraDynaset.fields
OraDynaset.movefirst
Do While Not OraDynaset.EOF
gMsgBox OraFields("ename").Value
OraDynaset.movenext
Loop
【讨论】: