日照港务局通信信息中心 徐西波 ---- 将文本数据迁移到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
|