【问题标题】:Data Migration from MS Access to Oracle-sql Developer using ODBC link使用 ODBC 链接从 MS Access 到 Oracle-sql Developer 的数据迁移
【发布时间】:2019-08-15 11:20:28
【问题描述】:

我正在将数据从 Microsoft Access 2013 迁移到 Oracle-SQL Developer(Oracle 客户端 12.1)。我正在使用 ODBC 链接,我可以迁移我的表,但数据类型的转换不正确。事实上,所有数据类型都重新转换为 VARCHAR2(例如,NUMBER(Access) 变为 VARCHAR2(Oracle))。

我该如何解决?有什么方法可以显式转换类型吗?

谢谢

【问题讨论】:

    标签: ms-access odbc oracle-sqldeveloper database-migration type-mismatch


    【解决方案1】:

    您可以分两步完成,首先迁移到 MS SQL 服务器。您可以使用免费的 Express Edition 和免费的 Access to MS SQL 迁移工具,该工具允许您手动将 MS Access 类型映射到 MS SQL Server 类型。在 Oracle-SQL 中找出 MS SQL Server 类型迁移到什么应该相当容易,这样您就可以在第一步进行必要的映射。

    【讨论】:

      【解决方案2】:

      有几种方法。

      一种方法是在 Oracle 中构建表结构(使用 Oracle 设计工具)。然后链接到 Access 中的那个 oracle 表。

      您现在可以在 Access 中运行附加查询以将表从 Access 发送到 Oracle。结果将是您选择的数据类型映射。您甚至可以使用 Access 查询 bulder 构建这样的追加查询。

      另一种方法是将数据从 Access 发送到 Oracle。你现在没有提到你是如何做到的。但是,如果您使用以下格式的传输数据库命令,大多数数据类型将会并且确实可以正确转换:

      Sub SendToSQL()
      
        Dim strLocalTable    As String
        Dim strSQLTable      As String
      
        Dim strSQLDataBase  As String
      
        strSQLDataBase = "test3"
      
        strLocalTable = "tblFood"
        strSQLTable = "tblFood"
      
        Dim strODBC As String
      
        strODBC = "ODBC;DRIVER=SQL Server;SERVER=ALBERTKALLAL-PC\SQLEXPRESS;Trusted_Connection=Yes;DATABASE="
      
        strODBC = strODBC & strSQLDataBase
      
        DoCmd.TransferDatabase acExport, "ODBC Database", _
            strODBC, acTable, strLocalTable, strSQLTable
      
      End Sub
      

      上面应该发送+在Oracle中创建表,当你做上面的时候你应该保留“大部分”正确的数据类型。

      当然,上面的例子使用了一个 SQL server 连接字符串,你当然可以用一个 oracle 替换上面的连接字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-30
        • 1970-01-01
        • 2012-05-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多