明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用VB完成動態(tài)文本數(shù)據(jù)到ORACLE數(shù)據(jù)庫基表的遷移

[摘要]日照港務局通信信息中心 徐西波 ---- 將文本數(shù)據(jù)遷移到ORACLE數(shù)據(jù)基表中可采用多種方法,如采用ORACLE公司提供的SQL*LOADER實用工具,該工具適用于將靜態(tài)文本數(shù)據(jù)加載到ORACLE基表,也可采用程序控制手段將動態(tài)變化的文本數(shù)據(jù)遷移到ORACLE基表中。本文講述了如何通過VB5.0...
日照港務局通信信息中心 徐西波

---- 將文本數(shù)據(jù)遷移到ORACLE數(shù)據(jù)基表中可采用多種方法,如采用ORACLE公司提供的SQL*LOADER實用工具,該工具適用于將靜態(tài)文本數(shù)據(jù)加載到ORACLE基表,也可采用程序控制手段將動態(tài)變化的文本數(shù)據(jù)遷移到ORACLE基表中。本文講述了如何通過VB5.0實現(xiàn)將動態(tài)變化的文本數(shù)據(jù)遷移到ORACLE基表中。

1﹑實現(xiàn)環(huán)境:

數(shù)據(jù)庫服務器:ORACLE 7.3數(shù)據(jù)庫

Windows 95/98

VB5.0中文專業(yè)版

通過串口接收到的內容動態(tài)變化的文本數(shù)據(jù)文件
2﹑實現(xiàn)要求:
---- 將客戶機通過串口接收到的動態(tài)變化的 bl.dat 文本文件內容遷移到ORACLE數(shù)據(jù)庫rg01的 hyyb_bl 基表中。

3﹑實現(xiàn)步驟:

---- ⑴﹑首先保證客戶端與ORACLE數(shù)據(jù)庫的正常連接。

---- ⑵﹑在客戶端安裝ORACLE 客戶端網(wǎng)絡組件如下:

Oracle Client Configuration Manager

Oracle Client Software Agent 3.2.2.1.0
---- ⑶﹑在客戶端設置ODBC數(shù)據(jù)源:
在控制面板中雙點 <32位ODBC>項,彈出窗口,選中<用戶DSN>選項卡,然后點 擊<添加>按鈕。

在彈出的<創(chuàng)建新數(shù)據(jù)源>窗口中,選擇<用于Oracle 的微軟ODBC驅動器>,按<完成>按鈕。(注:該 驅動器是在安裝VB5或OFFICE97等微軟產(chǎn)品時裝好的)

在彈出的<用于Oracle設置的微軟ODBC驅動器>窗口中,設置數(shù)據(jù)源名稱為數(shù)據(jù)庫名,用戶名稱及連 接字段。在本文中設置如下:數(shù)據(jù)源名稱:rg01。描述:rg01。用戶名稱:developer。連接字段: rg01

按<確認>按鈕
---- ⑷﹑編制代碼:(代碼片斷)
. 在 Form_load()事件中設置連接字符串:
  strCn = "ODBC;DSN=rg01;UID=developer;PWD=scmis"
. 為ODBC數(shù)據(jù)源創(chuàng)建鏈接表:

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