`
eyejava
  • 浏览: 1267037 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

定时加载文件到数据库tips

阅读更多
装载文本文件,oracle sqlldr是个好用的工具。

如果需要每日装载特定目录里面的所有文件,因为文件名不确定,所以得用shell来获得文件名然后传给sqlldr 的data属性。代码如下:
for file in `ls $daily_dir`
 do
 echo $file
 load_date=`expr substr $file 1 8`
 echo $load_date
 sqlldr userid=$load_user/$load_password data=$daily_dir/$file control=$load_dir/ctl/load_daily_custinfo.ctl log=$load_dir/log/load_dailycustinfo.log rows=1024 parallel=true&
 wait
 mv $daily_dir/$file $load_dir/data/daily_bak
done

即使用了control文件也能在外面指定data的。
control文件里面编程性比较弱,在infile参数里面可以识别shell中的变量,但是在数据定义里面就无法识别了,比如字段 load_date 我想从$laod_date变量里面取值,写成 load_date "$load_date" 是无法识别的。但是写成特定值是可以的,如 load_date "20070522"

但是如果固定值是"00000000"的话,即使load_date字段是char(8),导入后也只剩下一个0,sqlldr把它当作数字处理掉了。所以必须写成 load_date constant "00000000"

如果使用crontab来做定时执行,环境变量是值得留意设置的。因为crontab默认的PATH只有/usr/bin:/bin。所以在调用sqlldr之前得把$ORACLE_HOME/bin加到PATH中。
但是这样还不够,没有ORACLE_BASE和ORACLE_HOME变量,sqlldr将报错说:
Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL

sqlldr导入中文数据可能碰到乱码,设置CHARACTERSET ZHS16GBK(数据库字符集)能解决这个问题。
怪异的是通过securecrt telnet到服务器上sqlldr运行即使不加characterset也不会乱码,但是用crontab调度的方式就乱码了。
分享到:
评论
2 楼 joachimz 2007-05-29  
采用sysdate,或者其他例如trigger来做可以么?
1 楼 eyejava 2007-05-28  
是问题就会爆发..
本来$load_date只是一个监控的参数,现在需要把这个变量导入的数据库中,但是写在ctl文件里面识别不了,不知道有什么办法没?
难道只有在sqlldr完再加上一句 update .. set load_date = $load_date where load_date is null 吗?

相关推荐

    CodeWarrior IDE使用tips之map文件详解

    CodeWarrior IDE使用tips之map文件详解,汽车电子BOOTLOADer中会使用到。

    数据库设计指南-数据库设计教程

    下面,我将根据标题和描述,以及可能包含在"db_design_tips.pdf"中的内容,为你详细阐述数据库设计的关键知识点。 1. **数据库概念理解**:数据库是存储和组织数据的系统,它提供数据的结构化存储和访问。理解关系...

    图数据库图数据库图数据库.pptx

    图数据库需要注意的一些tips 和技巧包括:图数据库的查询语言、图数据库的索引机制、图数据库的性能优化等。 七、总结和未来展望 图数据库是非关系型数据库的一种,具有高效的查询和处理能力。随着大数据和人工...

    abap tips abap tips

    abap tips abap tips abap tips abap tips abap tips

    后台数据库简单写法

    ( tips tipstips:使用 AutoCompleteTextView AutoCompleteTextView AutoCompleteTextView AutoCompleteTextViewAutoCompleteTextView AutoCompleteTextViewAutoCompleteTextView AutoCompleteTextView控件实现自动...

    jquery tips提示插件自适应屏幕宽度提示图片信息

    2. 引入jQuery Tips插件:接着,将jQuery Tips插件的JavaScript文件和CSS文件添加到你的项目中。 3. 初始化插件:在JavaScript中,调用$.fn.tips()函数来初始化插件,并设置参数,如提示内容、触发事件、提示位置等...

    html5 网页加载中效果

    在提供的压缩包文件"Tips"中,可能包含了实现上述效果的源代码和注释,通过学习和理解这些代码,你可以更好地将这些技术应用到自己的项目中,根据需求进行修改和扩展。 总的来说,HTML5不仅提供了丰富的功能,还...

    access同步数据到mysql(支持jdk8、不限1000条)

    我是导出为可执行jar之后,做了个系统任务,定时的跑; 此项目支持jdk8并且读取access不限制1000条; tips: 导出时候config文件夹不会被导出,这个文件夹里的file.properties是配置连接信息及用户名密码的; 如果...

    安卓Android源码——仿腾讯新闻Tips和加载中界面效果源码.zip

    安卓Android源码——仿腾讯新闻Tips和加载中界面效果源码.zip

    sqlserver备份数据库为脚本

    备份sqlserver数据库为txt,可远程 局域网连接, 导出建表脚本,存储过程脚本,数据脚本(视图等不会导出) 可批量导出,可导出数据量很大的数据库,会自动拆分为多个数据脚本,注意...tips:表要有主键,且主键名称最好为id

    Tips基于jQuery的提示框插件可自动消失可手动消失

    要使用这个基于jQuery的Tips插件,首先你需要在项目中引入jQuery库和Tips插件的JavaScript文件。假设在`Tips-master`压缩包中包含以下文件: 1. `jquery.js` - jQuery的核心库,确保在所有其他脚本之前引入。 2. `...

    NoSQL数据库学习教程.pdf

    两个设计上的 Tips是指分布式系统的设计上的Tips和建议。 Voldemort是指使用Voldemort来实现分布式系统的可扩展性。 Dynomite是指使用Dynomite来实现分布式系统的可扩展性。 Kai是指使用Kai来实现分布式系统的可...

    jQuery_Tips_插件

    将这些文件添加到HTML的`<head>`或`<body>`标签中,并确保jQuery库在插件之前加载。 ```html <script src="path/to/jquery.js"></script> <script src="path/to/jQuery-toolTip20160904.js"></script> ``` 然后,...

    pandas连接数据库,从数据库读取数据,将数据保存到数据库

    在这个例子中,我们读取了一个CSV文件`tips.csv`,然后尝试将其数据保存到名为`data1`的数据库表中。`index=False`参数表示不将DataFrame的索引列保存到数据库。 总结来说,`pandas`结合`pymysql`和`sqlalchemy`...

    数据库设计文档,帮助下载

    "db_design_tips.pdf"这个文件很可能包含了这些方面的详细指导和最佳实践,可能涵盖如何有效地进行需求分析,如何构建ER模型,如何进行关系模式的转换,如何设计高效的物理结构,以及如何处理事务和安全问题等内容。...

    kth-tips灰度纹理数据集

    KTH-TIPS(KTH-Texas Institute of Photography and Shape)是一个广泛使用的图像数据库,特别是针对纹理分析和图像分类任务。这个数据集包含了大量的灰度纹理图像,是计算机视觉研究领域的一个重要资源。它的设计...

    定时提醒小闹钟

    在这款“定时提醒小闹钟”中,我们可以看到几个关键的文件组成部分: 1. **Config**:这是配置文件夹,通常存储了应用程序的设置和用户偏好。在这里,用户可以设定闹钟的时间、重复频率、提示音等个性化选项。这些...

    linux把一个文件的内容复制到另一个文件的末尾

    将22的文件内容复制到11文件的末尾,11文件的效果就是: hello world 解决办法: cat 22 >> 11 >>的意思是追加的意思 > 的意思是重定向的意思,会覆盖原先的内容 小Tips: 将a.txt文件的内容清除,并且使得文件的...

    jquery tips提示图片信息.rar

    本资源“jquery tips提示图片信息.rar”显然聚焦于利用jQuery实现一种图片提示信息的功能,这通常涉及到图片展示、用户交互以及可能的动画效果。以下是关于这个主题的详细知识点: 1. jQuery选择器:jQuery的选择器...

    vim tips 汇总

    ### Vim Tips 汇总知识点解析 #### Vim Tip 1: 使用“*”键进行高效搜索 在 Vim 编辑器中,`*` 键是一个非常实用但往往被忽略的功能。当你处于正常模式(Normal mode)时,按下 `*` 键可以搜索光标所在位置下的...

Global site tag (gtag.js) - Google Analytics