【问题标题】:how do i read Visual foxpro Database as External table in oracle 10g database?如何在 oracle 10g 数据库中将 Visual foxpro 数据库读取为外部表?
【发布时间】:2014-03-07 06:11:25
【问题描述】:

我有几个 vfp 9.0 .dbc 和 .dbf 文件,我正在尝试将这些表设置为外部表, 但从我用谷歌搜索的信息来看,oracle 似乎只支持 .CSV 文件

这可能吗

我将在 dbf 文件中选择、更新、删除、插入几行。

例如

 create or replace directory ext_tab as 'C:\EXT_TAB';
 CREATE TABLE ext_test( 
    CODE NUMBER(4), DESC CHAR(20)
    ORGANIZATION EXTERNAL( 
    TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_tab
    ACCESS PARAMETERS
    ( 
    RECORDS DELIMITED BY NEWLINE 
    NOBADFILE
    NOLOGFILE
    SKIP 1    
    FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'  LRTRIM  
    MISSING FIELD VALUES ARE NULL  
    REJECT ROWS WITH ALL NULL FIELDS 
    (CODE INTEGER EXTERNAL (4),
    DESC CHAR(20)) 
    ) 
    LOCATION ('ext_tab_test.dbf')
    )
    PARALLEL 
    REJECT LIMIT 0;  

非常感谢任何更正、指导和文章。

【问题讨论】:

    标签: sql oracle plsql external-tables


    【解决方案1】:

    我不知道 Visual fox pro 数据库文件的物理布局,但我毫不怀疑它具有使用 odbc 连接的能力。如果是这种情况,您可以使用 dg4odbc 创建从 oracle 到该数据库的连接,并以您想要的方式使用这些表。

    将 fox pro 文件作为外部表对您没有帮助。

    dg4odbc 是常规 oracle 安装的一部分。它归结为找到一个 odbc 驱动程序,安装它,创建一个包含 fox pro 数据库详细信息的 odbc.ini。接下来使用 dg4odbc 作为程序在您的 oracle 侦听器中创建一个侦听器条目。接下来创建一个 tnsnames.ora 别名,该别名指向在描述中具有 (HS=ok) 的侦听器条目。在 $ORACLE_HOME/hs/admin 中创建一个 init{ODBC_NAME}.ora,dg4odbc 使用它来将各个部分联系在一起。

    如果一切就绪,您可以使用上面创建的 tnsalias 创建从 oracle 到 fox pro 数据库的数据库链接。

    【讨论】:

      【解决方案2】:

      我曾经使用 Visual Foxpro 9 在我们的一个应用程序中查询 Oracle 10g 数据库。有几种方法可以做到这一点:

      Visual Foxpro SQL pass through

      Visual Foxpro Remote Views

      由于您已经在使用 Visual Foxpro 数据库容器 (.DBC),您可能需要查看 Remote View 方法。这两种方法我都用过。他们都工作得很好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-18
        • 1970-01-01
        相关资源
        最近更新 更多