数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQL&Loader可把文件中的数据装载到OR


发布日期:2018年09月24日
 
SQL&Loader可把文件中的数据装载到OR

SQL&Loader是ORACLE提供的一种工具用这一工具可把外部文件中的数据装载到ORACLE的数据库中利用这一原理可以把FOXPRO的数据导出到文本文件再利用SQL*Loader装载到ORACLE数据库中

从FOXPRO中导出数据

打开file/exportType选择delimited text在To项中给出导出的数据文件名字段间以区分开Fro项选择要导出的FOXPRO数据库文件并选择数据文件存储位置

打开Options根据需要设置ScopeForWhile和Fields点击OK进行导出

例如导出人员管理数据库中的序号姓名性别出生日期数据文件保存为ryctl文件名其内容如下

白余量//

李汉为//

郭正林//

编辑数据文件为控制文件格式

LOAD DATA

INFILE *

REPLACE

INTO TABLE wxryb

FIELDS TERMINATED BY OPTIONALLY ENCLOSED

(xhnamesexbirth date() mm/dd/yyyy)

BEGINDATA

白余量//

李汉为//

郭正林//

其中INFILE * 表示数据在控制文件后部REPLACE是数据装载方式还 可以是INSERTAPPEND等 wxryb 是ORACLE数据库表名 (xhnamesexbirth date() mm/dd/yyyy)是wxryb中的字段名 mm/dd/yyyy是被转换日期数据的格式BEGINDATA以后是要装载的数据

把数据文件ftp到数据库服务器上

以oracle用户身份登录到数据库服务器

在命令行输入

sqlldr userid=refine/refine control=ryctl log=ry

log bad=rybad执行数据装载

其中userid指定的用户对wxryb要有一定权限可指定log文件和bad文件 对装载过程进行检查本命令 还可带有多个参数进行装载控制可在命令行 输入sqlldr查阅

对于FOXPRO的MEMO字段数据可利用COPY MEMO命令导出到文本文件再按上述方法装入如果数据装载不成功请查阅log文件和bad文件其原因多与数据类型的匹配和长度有关对于FOXPRO日期型数据如果为空(如上例第条记录)ORACLE不识别/ /则装载会失败因此在从FOXPRO导出前我先给所有birth为空的记录赋予一个日期//待装载成功后只需一个命令

update wxryb set birth= where birth=?JAN

即可在wxryb中恢复相关记录的birth空值

上一篇:在浏览器上保存数据

下一篇:Certification Notes(中英对照)