|
日照港務(wù)局通信信息中心 徐西波 ---- 將文本數(shù)據(jù)遷移到ORACLE數(shù)據(jù)基表中可采用多種方法,如采用ORACLE公司提供的SQL*LOADER實(shí)用工具,該工具適用于將靜態(tài)文本數(shù)據(jù)加載到ORACLE基表,也可采用程序控制手段將動(dòng)態(tài)變化的文本數(shù)據(jù)遷移到ORACLE基表中。本文講述了如何通過VB5.0實(shí)現(xiàn)將動(dòng)態(tài)變化的文本數(shù)據(jù)遷移到ORACLE基表中。
1﹑實(shí)現(xiàn)環(huán)境:
數(shù)據(jù)庫服務(wù)器:ORACLE 7.3數(shù)據(jù)庫
Windows 95/98
VB5.0中文專業(yè)版
通過串口接收到的內(nèi)容動(dòng)態(tài)變化的文本數(shù)據(jù)文件 2﹑實(shí)現(xiàn)要求: ---- 將客戶機(jī)通過串口接收到的動(dòng)態(tài)變化的 bl.dat 文本文件內(nèi)容遷移到ORACLE數(shù)據(jù)庫rg01的 hyyb_bl 基表中。
3﹑實(shí)現(xiàn)步驟:
---- ⑴﹑首先保證客戶端與ORACLE數(shù)據(jù)庫的正常連接。
---- ⑵﹑在客戶端安裝ORACLE 客戶端網(wǎng)絡(luò)組件如下:
Oracle Client Configuration Manager
Oracle Client Software Agent 3.2.2.1.0 ---- ⑶﹑在客戶端設(shè)置ODBC數(shù)據(jù)源: 在控制面板中雙點(diǎn) <32位ODBC>項(xiàng),彈出窗口,選中<用戶DSN>選項(xiàng)卡,然后點(diǎn) 擊<添加>按鈕。
在彈出的<創(chuàng)建新數(shù)據(jù)源>窗口中,選擇<用于Oracle 的微軟ODBC驅(qū)動(dòng)器>,按<完成>按鈕。(注:該 驅(qū)動(dòng)器是在安裝VB5或OFFICE97等微軟產(chǎn)品時(shí)裝好的)
在彈出的<用于Oracle設(shè)置的微軟ODBC驅(qū)動(dòng)器>窗口中,設(shè)置數(shù)據(jù)源名稱為數(shù)據(jù)庫名,用戶名稱及連 接字段。在本文中設(shè)置如下:數(shù)據(jù)源名稱:rg01。描述:rg01。用戶名稱:developer。連接字段: rg01
按<確認(rèn)>按鈕 ---- ⑷﹑編制代碼:(代碼片斷) . 在 Form_load()事件中設(shè)置連接字符串: 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 . 設(shè)置定時(shí)事件: 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
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!