Installshield2009中使用osql.exe执行数据库脚本

Installshield2009中,执行数据库脚本,添加连接都很简单.
问题是:在不同的安装Feature下,有的Feature下需要使用OnSQLLogin,显示数据库连接对话框,用户输入数据库连接配置信息.而有的Feature下面,压根就不需要有数据库配置.而IDE环境配置的数据库连接,在什么Feature都会连接.谁可以告诉我,实现这个需求,用IDE SQL SCRIPTS里面的方式如何去做.

如下是我的解决方案:

1.导出数据库创建脚本
2.使用SQL2000提取的osql.exe去执行数据库脚本,可以在没有安装SQLSERVER的机器运行它,这个很方便,之前用过ADO的方式连接执行sql脚本,问题是要执行些系统存储过程,哪怕用SA的帐号和密码也不会成功(查询分析器里面运行成功),用osql.exe轻松搞定.
大概的IS代码如:

ContractedBlock.gif ExpandedBlockStart.gif Code
szMsg="Execute grant sqldot.gif.";
         SdShowMsg (szMsg, 
TRUE);   
         szScriptFile
=INSTALLDIR^"Component\\grant.sql"
         szPara
="-S "+gSQLServer+" -U "+gSQLUser+" -P "+gSQLPass+" -i \""+szScriptFile+"\"";
         WriteLog(
"szPara:"+szPara);
         result
= LaunchAppAndWait(SUPPORTDIR^"osql.exe",szPara,LAAW_OPTION_WAIT|LAAW_OPTION_HIDDEN);    
         Sprintf(szMsg,
"Execute grant SQLScript result is %ld",result); 

 

 

SUPPORT目录的osql.exe 下载:DOWNLOAD

转载于:https://www.cnblogs.com/solo/archive/2009/06/16/1504410.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值