isql自动加载sql脚本
2015-02-26 21:41
357 查看
有时为了刷库的方便,特别是在刷全量脚本时我们可以使用isql来批量加载执行sql脚本文件。
要使用isql的前提是你的机器上已经安装了sybase。
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的前提是你的机器上已经安装了sybase。
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文件中。
相关文章推荐
- 自动产生存储过程的sql 脚本
- 自动检测并加载分区脚本
- 根据库中的表自动生成数据字典的T-SQL脚本
- 给朋友写了一个从脚本文件逐行加载执行SQL语句的程序,现在分享给将来需要的朋友们参考
- 根据库中的表自动生成数据字典的T-SQL脚本 ---转
- 可以把Access数据库自动转化成Sql的脚本编写工具
- [sql server] 在isql、osql、sqlcmd中调用脚本执行
- 自动执行Sql脚本的批处理
- 自动生成Insert数据的SQL脚本
- 自动生成Insert数据的SQL脚本
- 使用SQLServer2000的isql工具完成在UE中执行sql脚本
- CodeSmith实用技巧(十二):自动执行SQL脚本
- PowerDesigner11生成SQL脚本时自动带备注信息
- 如何在C#中用程序执行指定的SQL脚本文件,实现自动安装创建数据库.txt
- 将表中的数据生成SQL脚本,在查询分析器中执行这些脚本后自动将数据导入到SQL Server中
- CodeSmith实用技巧(十二):自动执行SQL脚本
- Atlas中window.onload/自动加载自定义脚本的解决(Client-Side)
- 将表中的数据生成SQL脚本,在查询分析器中执行这些脚本后自动将数据导入到SQL Server中
- SQL备份工具:自动从数据生成SQL脚本
- 自动执行SQL脚本<codesmith>