我如何在oracle 10g数据库中读取Visual foxpro数据库作为外部表?

时间:2014-03-07 06:11:25

标签: sql oracle plsql external-tables

我有几个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;  

任何更正,指导,文章都非常感谢。

2 个答案:

答案 0 :(得分:0)

我不知道视觉狐狸专业数据库文件的物理布局,但我毫不怀疑它有能力使用odbc连接。如果是这种情况,您可以使用dg4odbc创建从oracle到该数据库的连接,并以您希望的方式使用这些表。

将狐狸专业文件作为外部表格不会对您有所帮助。

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

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

答案 1 :(得分:0)

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

Visual Foxpro SQL pass through

Visual Foxpro Remote Views

由于您已经在使用Visual Foxpro数据库容器(.DBC),因此您可能希望查看Remote View方法。我用过这两种方法。它们都运作良好。