zoukankan      html  css  js  c++  java
  • 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代码如:


    szMsg="Execute grant sql.";
             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

  • 相关阅读:
    javascript创建类的6种方式
    c#匿名类型
    flex中在basewidget中不能使用图表组件问题
    Xamarin 后台持续定位与提示
    Net 并行知识学习
    占位
    axis 入门【原】
    Oracle存储过程procedure in、out、in out 模式参数【不发布,纯转】
    poi读取写入excel【未完,待续】
    poi读取写入word【未完,待续】
  • 原文地址:https://www.cnblogs.com/solo/p/1504410.html
Copyright © 2011-2022 走看看