用VB实现动态文本数据到ORACLE数据库基表的迁移
日照港务局通信信息中心
徐西波
---- 将文本数据迁移到ORACLE数据基表中可采用多种方法,如采用ORACLE公司提供的SQL*LOADER实用工具,该工具适用于将静态文本数据加载到ORACLE基表,也可采用程序控制手段将动态变化的文本数据迁移到ORACLE基表中。本文讲述了如何通过VB5.0实现将动态变化的文本数据迁移到ORACLE基表中。
1﹑实现环境:
数据库服务器:ORACLE 7.3数据库
Windows 95/98
VB5.0中文专业版
通过串口接收到的内容动态变化的文本数据文件
2﹑实现要求:
---- 将客户机通过串口接收到的动态变化的 bl.dat 文本文件内容迁移到ORACLE数据库rg01的 hyyb_bl 基表中。
3﹑实现步骤:
---- ⑴﹑首先保证客户端与ORACLE数据库的正常连接。
---- ⑵﹑在客户端安装ORACLE 客户端网络组件如下:
Oracle Client Configuration Manager
Oracle Client Software Agent 3.2.2.1.0
---- ⑶﹑在客户端设置ODBC数据源:
在控制面板中双点 <32位ODBC>项,弹出窗口,选中<用户DSN>选项卡,然后点 击<添加>按钮。
在弹出的<创建新数据源>窗口中,选择<用于Oracle 的微软ODBC驱动器>,按<完成>按钮。(注:该 驱动器是在安装VB5或OFFICE97等微软产品时装好的)
在弹出的<用于Oracle设置的微软ODBC驱动器>窗口中,设置数据源名称为数据库名,用户名称及连 接字段。在本文中设置如下:数据源名称:rg01。描述:rg01。用户名称:developer。连接字段: rg01
按<确认>按钮
---- ⑷﹑编制代码:(代码片断)
. 在 Form_load()事件中设置连接字符串:
strCn = "ODBC;DSN=rg01;UID=developer;PWD=scmis"
. 为ODBC数据源创建链接表:
blfilename = "c:\qx\bl.dat"
blrqstring = ""
Set dbs = OpenDatabase("C:\qx\qx.mdb", False, False)
On Error Resume Next
dbs.TableDefs.Delete "Tabbl"
dbs.TableDefs.Refresh
Set tdf = dbs.CreateTableDef("Tabbl")
tdf.Connect = strCn
tdf.SourceTableName = "developer.hyyb_bl"
dbs.TableDefs.Append tdf
dbs.TableDefs.Refresh
Set rst_bl = dbs.OpenRecordset("Tabbl",
dbOpenDynaset)
Set qdf = dbs.CreateQueryDef("")
qdf.Connect = strCn
On Error GoTo 0
. 设置定时事件:
Private Sub Timer1_Timer()
Dim blstring As String
blstring = ""
On Error GoTo errhandel
If blrqstring <> FileDateTime(blfilename) Then
blrqstring = FileDateTime(blfilename)
If blfilename <> "" Then
Refreshbl blfilename
End If
End If
errhandel:
End Sub
. 文件操作
Sub Refreshbl(para_filename)
Dim MyString
qdf.SQL = "delete from developer.hyyb_bl"
qdf.ReturnsRecords = False
qdf.Execute
Open para_filename For Input As #1
Do While Not EOF(1)
Line Input #1, MyString
dbs.Execute "insert into
Tabbl values('" & MyString & "')"
Loop
Close #1
End Sub