sqlplus如何执行sql文件

执行SQL文件的步骤:①登录数据库,②执行文件(@或START),③使用-v传递参数,④将输出重定向到日志,⑤注意路径和权限。

这是一个陷阱:路径错误、权限不足、变量未定义。

不要相信:路径是非常依赖的并且必须是精确的。

不要:使用未知路径或权限不足直接运行 SQL 文件。

Linux下将UTF8编码批量转换成GB2312编码的方法

UTF8 和GB2 3 1 2 编码是不同的。
SQLPlus导入UTF8 脚本时会出现乱码。

Linux下批量转换脚本如下: 巴什 !/bin/bash for 循环中的 find . -type f -name ".sql" -print;做 回显$循环 mv -f $cycle $cycle.tmp dos2 unix $loop.tmp file_check_utf8 ='file_check_utf8 .log' sed -n '1 l' $loop.tmp > $file_check_utf8 if grep '^þÿ' $file_check_utf8 > /dev/null 2 >&1 ;然后 回显“BOM UTF-8 ” sed -n -e '1 s/^.ðÿ//g' -e 'w middle.txt' $loop.tmp iconv -f UTF-8 -t GB2 3 1 2 -o $intermediate循环.txt rm -rf 中间.txt rm -rf $cycle.tmp elif iconv -f UTF-8 -t GB2 3 1 2 $loop.tmp > /dev/null 2 >&1 ;然后 回显“UTF-8 ” iconv -f UTF-8 -t GB2 3 1 2 -o $loop $loop.tmp rm -rf $cycle.tmp 其他 回显'ANSI' mv -f $cycle.tmp $cycle 菲 rm -rf $file_check_utf8 模拟unix2 dos,在最后一行添加换行符 sed -n -e 's/$/\r/g' -e 'w' $loop.tmp $loop mv -f $cycle.tmp $cycle 完成
使用sed+grep进行BOM处理。
如果没有BOM,请尝试使用 iconv 进行转换。

使用sed模拟unix2 dos并添加回车符。

自己掂量一下。