只要安装一个Oracle8i的客户端就可以了,他带一个oo4o(oracle object for OLE),在你的VB程序中写入类似下面的代码就可以使用的。这种方法可以绕过ODBC,在VC中也可以使用.很方便的,试试吧!
例子:
Dim OraSession as variant
Dim OraDatabase as variant
Dim dbname as string
Dim cnuser as string
Dim sql As String
Dim fnm As String
Dim mds As boolean
Dim rs As Variant
Dim fno As Integer
Dim rec As String
Dim i As Integer
Dim dummy As Variant
Dim s As String dbname = ""
cnuser = "SAK/SAK"
sql = "select * from sak.注释*1"
fnm = "g:\tmp\test.csv"
mds = true Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase(dbname, cnuser, 0)
set rs = OraDatabase.CreateDynaset(sql, 0) fno = FreeFile
Open fnm For Output As fno Len = 32000
if mds then
For i = 0 to rs.fields.count - 1
rec = rec & Chr(&H22) & rs(i).Name & Chr(&H22) & ","
Next
Print #fno, Left(rec, Len(rec) - 1)
end if
Do Until rs.EOF
rec = ""
For i = 0 to rs.fields.count - 1
dummy = rs(i)
If IsNull(dummy) Then
s = ""
Else
s = dummy
End If
rec = rec & Chr(&H22) & RTrim(s) & Chr(&H22) & ","
Next
Print #fno, Left(rec, Len(rec) - 1)
rs.MoveNext
Loop
Close fno
Set rs = Nothing Set OraDatabase = Nothing
Set OraSession = Nothing
例子:
Dim OraSession as variant
Dim OraDatabase as variant
Dim dbname as string
Dim cnuser as string
Dim sql As String
Dim fnm As String
Dim mds As boolean
Dim rs As Variant
Dim fno As Integer
Dim rec As String
Dim i As Integer
Dim dummy As Variant
Dim s As String dbname = ""
cnuser = "SAK/SAK"
sql = "select * from sak.注释*1"
fnm = "g:\tmp\test.csv"
mds = true Set OraSession = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase = OraSession.OpenDatabase(dbname, cnuser, 0)
set rs = OraDatabase.CreateDynaset(sql, 0) fno = FreeFile
Open fnm For Output As fno Len = 32000
if mds then
For i = 0 to rs.fields.count - 1
rec = rec & Chr(&H22) & rs(i).Name & Chr(&H22) & ","
Next
Print #fno, Left(rec, Len(rec) - 1)
end if
Do Until rs.EOF
rec = ""
For i = 0 to rs.fields.count - 1
dummy = rs(i)
If IsNull(dummy) Then
s = ""
Else
s = dummy
End If
rec = rec & Chr(&H22) & RTrim(s) & Chr(&H22) & ","
Next
Print #fno, Left(rec, Len(rec) - 1)
rs.MoveNext
Loop
Close fno
Set rs = Nothing Set OraDatabase = Nothing
Set OraSession = Nothing
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货