isql自动加载sql脚本
Posted 小立攻城狮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了isql自动加载sql脚本相关的知识,希望对你有一定的参考价值。
有时为了刷库的方便,特别是在刷全量脚本时我们可以使用isql来批量加载执行sql脚本文件。1、windows下连接sybase数据库进行刷库操作 假设现在有如下几个sql脚本: 001.表结构创建.SQL 002.初始化数据.SQL 003.初始化数据.SQL
先提供一个sybase服务配置文件12.5.interfaces.ini,文件内容如下: [LINUXI60M] master=NLWNSCK,10.20.31.53,5000 query=NLWNSCK,10.20.31.53,5000 [LINUXI60M_BS] master=NLWNSCK,10.20.31.53,5001 query=NLWNSCK,10.20.31.53,5001 [LINUXI60M_XP] master=NLWNSCK,10.20.31.53,5002 query=NLWNSCK,10.20.31.53,5002 注:我这里是12.5的数据库,如果是15.7的话服务配置是有区别的;文件名随意,保证文件内容正确即可。
提供一个刷库的引导脚本,用于指导SQL文件加载顺序,我这里叫"12.5.引导脚本.bat ",这是一个在windows环境下的可执行文件; 文件内容如下: rd /s/q log mkdir log isql -UXX -PXX -I12.5.interfaces.ini -SLINUXI60M -Jcp936 < 001.表结构创建.SQL >;log\\ 001.表结构创建 .out isql -UXX -PXX -I12.5.interfaces.ini -SLINUXI60M -Jcp936 < 002.初始化数据.SQL >;log\\ 002.初始化数据 .out isql -UXX -PXX -I12.5.interfaces.ini -SLINUXI60M -Jcp936 < 003.初始化数据.SQL >;log\\ 003.初始化数据 .out 参数说明:U后面是用户名、P后面是密码、I后面是服务配置文件,由于这里是在同级目录就没指定绝对路径了、 S后面是服务名,就是服务配置文件里面[]括号括起来部分、 J后面是字符集(sybase服务是utf8字符集,为了确保刷进去的中文不是乱码就用cp936这个字符集)。 脚本第一行是删除log目录、第二行是创建log目录;用<>将SQL文件括起来,.out文件是输出的SQL脚本执行时记录的日志, 脚本刷完后检查log目录下的日志文件查看脚本是否执行成功,刷库过程中有错误的话都会记录在out文件中。
以上是关于isql自动加载sql脚本的主要内容,如果未能解决你的问题,请参考以下文章
在shell脚本中使用 isql 执行SQL语句 查询sybase数据库中满足条件的记录条数,怎么把查询结果赋给变量?
pb9,连oracle数据库,isql session执行sql就崩溃。