首页  编辑  

用VB实现动态文本数据到ORACLE数据库基表的迁移

Tags: /超级猛料/Database.数据库相关/Oracle/oracle系统配置,优化,连接/   Date Created:

用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