Sql server NSIS SQL连接

Sql server NSIS SQL连接,sql-server,deployment,nsis,Sql Server,Deployment,Nsis,使用NSIS安装程序脚本安装时,我需要在SQL Server上运行一些脚本:选择、更新、创建和插入 如果没有运行NSIS安装程序的计算机上的SQL Server引擎,我如何做到这一点 我考虑将SQL Server Compact Edition打包到我的安装程序中,以便使用它连接到SQL Server。我应该这样做吗?我找到了一个NSIS插件,可以连接到MS SQL数据库: 它可以这样使用: ${OLEDB}::SQL_Logon "$SQLSERVER" "$SQLUSER" "$SQL

使用NSIS安装程序脚本安装时,我需要在SQL Server上运行一些脚本:选择、更新、创建和插入

如果没有运行NSIS安装程序的计算机上的SQL Server引擎,我如何做到这一点


我考虑将SQL Server Compact Edition打包到我的安装程序中,以便使用它连接到SQL Server。我应该这样做吗?

我找到了一个NSIS插件,可以连接到MS SQL数据库:

它可以这样使用:

${OLEDB}::SQL_Logon    "$SQLSERVER" "$SQLUSER" "$SQLPASSWORD"
${OLEDB}::SQL_Execute  "$SQLQUERY"
${OLEDB}::SQL_GetError
${OLEDB}::SQL_GetRow
Pop $0
DetailPrint $0
Pop $0
DetailPrint $0
${OLEDB}::SQL_Logout

在远程计算机上执行查询不需要SQL Server引擎,您需要一个驱动程序

一种方法是使用命令行客户机,这也需要本机驱动程序。您可能希望捆绑或搜索应用程序在安装程序中使用的驱动程序

在SQLServer2005或更高版本中,调用命令行客户机。可以从功能包下载页面(| | |)下载

因此,只需将SQL脚本与安装程序捆绑在一起,然后通过调用sqlcmd来执行脚本

您可以通过以下方式使用可信连接运行脚本:

sqlcmd -S _SERVER\_INSTANCE_ -d _DBNAME_ -i _SCRIPT_FILE_
或使用SQL登录:

sqlcmd -S _SERVER\_INSTANCE_ -d _DBNAME_ -U _USERNAME_ -P _PASSWORD_ -i _SCRIPT_FILE_

此方法的SQL 2000版本可以在上找到。

当禁止您提问时,您应该仔细阅读。我需要为我使用的geterror函数编写登录文本文件
${LogText}Pop$0 DetailPrint$0
它在
${OLEDB}中不起作用::SQL_ExecuteScript$SQLFILE
在执行整个SQLFILE时,提出一个新问题,并详细描述您的问题。建议我在sql文件中记录未执行的查询