MDB数据倒入Oracle一种快捷的数据转移方法(mdb倒入oracle)

MDB数据倒入Oracle:一种快捷的数据转移方法

在企业数据管理中,数据转移是一个非常常见的操作。在实际应用中,经常需要将Access数据库(mdb)中的数据导入Oracle中。但是这种数据转移其实是一项有些复杂的任务。本文将会介绍一种基本的快捷的数据转移方法。

在介绍具体操作之前,需要讲解一些实现原理。将Access数据库导入到Oracle中,首先需要将mdb数据库中的数据读出,然后将它们转换成Oracle能够接受的格式,最后再将数据导入到Oracle数据库中。

1. 安装ODBC驱动

Oracle数据库提供了ODBC驱动程序,可以通过它连接到Access数据库。在进行数据转移之前,需要先安装ODBC驱动。以下是ODBC驱动安装的基本步骤:

(1)下载最新版的Oracle ODBC驱动程序;

(2)打开“控制面板”的“管理工具”,并选择“ODBC数据源(32位)”;

(3)选择“系统 DSN”并单击“添加”;

(4)选择“Oracle in OraClient12Home1”(这个名字可能会根据您使用的Oracle版本而有所变化);

(5)填写一些常规信息,如数据源名称、数据源描述以及TNS Service Name;

(6)完成安装。

2. mdb数据库导出

可通过代码方式将Access数据库中的数据导出到本地文件中,如下:

Public Sub mdbToExcel()

Dim StrSht As String

StrSht = “Sheet1”

Dim ExcelApp As Object

Set ExcelApp = CreateObject(“Excel.Application”)

Dim ExcelBook As Object

Set ExcelBook = ExcelApp.Workbooks.Add

Dim ExcelSheet As Object

Set ExcelSheet = ExcelBook.Worksheets(StrSht)

Dim AccessConn As Object

Set AccessConn = CreateObject(“ADODB.Connection”)

AccessConn.Open “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\My Documents\Access.mdb”

Dim Rst As Object

Set Rst = CreateObject(“ADODB.Recordset”)

Rst.Open “Select * from Table1”, AccessConn, 2, 2

Dim i As Integer

Dim j As Integer

i = 1

Do While Not Rst.EOF

j = 1

Do While j

ExcelSheet.Cells(i, j).Value = Rst(j – 1)

j = j + 1

Loop

i = i + 1

Rst.MoveNext

Loop

ExcelBook.SaveAs “C:\My Documents\Sheet1.xls”

ExcelBook.Close False

ExcelApp.Quit

Set ExcelSheet = Nothing

Set ExcelBook = Nothing

Set ExcelApp = Nothing

MsgBox “Done!”

End Sub

重新打开Excel文件后,可以看到我们想要导入Oracle数据库的数据已经成功地导出。

3. Excel文件转换

在上一步Excel文件导出中,数据已经被成功导出到了Excel文件中。但是这里需要注意一点,直接在Oracle中导入Excel文件是无法识别的。我们需要先将Excel文件转换成Oracle能够识别的格式。现在我们将使用PL/SQL Developer。

在PL/SQL Developer中,选择“Tools”—“Data Import(数据导入)”:

(1)选择Excel文件,单击“Next”。

(2)选择对应的数据类型,单击“Next”。

(3)进行数据字段对应,单击“Next”。

(4)数据导入可提供的选项,单击“Finish”完成操作。

为了方便管理和使用,应将数据导入成表,如下:

CREATE TABLE table1

(

Field1 varchar2(50),

Field2 varchar2(50),

Field3 varchar2(50),

Field4 varchar2(50),

Field5 varchar2(50)

);

4. Oracle数据库导入

最后一步是将数据导入Oracle数据库中。使用如下代码进行导入。

CREATE OR REPLACE PROCEDURE import_from_excel

AS

vFileLocation VARCHAR2(4000) := ‘C:\My Documents\Sheet1.xls’;

vExcelPrefix VARCHAR2(4000) := ‘Sheet1$’;

vColumnNameList VARCHAR2(4000) := ‘FIELD1,FIELD2,FIELD3,FIELD4,FIELD5’;

BEGIN

EXECUTE IMMEDIATE ‘truncate table Table1’;

INSERT

INTO Table1

(

Field1,

Field2,

Field3,

Field4,

Field5

)

SELECT

*

FROM

OPENROWSET

(

‘Microsoft.Jet.OLEDB.4.0’,

‘Excel 8.0;Database=’ || vFileLocation || ‘;HDR=YES;IMEX=0’,

‘SELECT ‘

|| vColumnNameList ||

‘ FROM [‘

|| vExcelPrefix ||

‘]’

);

END;

/

在导入数据之前,务必要清空一下表中原有的数据。以上的代码可以实现将Excel文件中的数据导入到Oracle表中。

总结

本文介绍了一种基于ODBC驱动的,使用代码的快速数据转移方法。通过以上的步骤,您可以成功地将mdb数据库中的数据导入到Oracle数据库当中。随着企业数据规模的不断扩大,数据库转移将越来越重要,而以上方法可以提高数据转移率,为企业管理带来极大的便利。


数据运维技术 » MDB数据倒入Oracle一种快捷的数据转移方法(mdb倒入oracle)