是否有任何可能的方法来为我使用 sql server 作为后端在 vb.net 中编写的程序创建一个设置。我有一个创建数据库代码的模块,我还在 vb.net 中为我的项目创建了一个设置,但我希望此设置即使在没有安装 Visual Studio 和 sql server 的系统中也能正常运行。我尝试在没有两者的系统上运行它,但我得到的错误是 sql server 2005 在默认设置中不允许远程连接,我尝试更改一些设置,但似乎没有任何效果。是否需要有服务器来创建数据库?
3 回答
当我编写需要在客户端安装 SQL Server 的程序时,我使用以下逻辑:
如果未安装,我会提示用户下载它(或使用您的安装程序脚本为他们下载它。我使用 NSIS 安装程序)。确保根据您的要求(和客户端的操作系统)为用户安装适当的版本。我通常使用 SQL Sever 2008 R2 Express Edition,SP1。
然后我使用我的安装程序脚本命令执行 SQL 安装程序。在 NSIS 中,它是 ExecWait。在 VB.Net 你有这样的东西。您必须通过命令行参数安装它。以下是命令行参数列表:http: //msdn.microsoft.com/en-us/library/ms144259 (v=sql.100).aspx
这是我使用的:
C:\PathToMySQLDownload\SQLEXPR.exe /QUIETSIMPLE /SkipRules=RebootRequiredCheck
/ACTION=install /IACCEPTSQLSERVERLICENSETERMS=1 /FEATURES=SQL
/INSTANCENAME=MSSQLSERVER /SECURITYMODE=SQL /SAPWD=MySAPassword /NPENABLED=1
/TCPENABLED=1 /SQLSVCACCOUNT="NETWORK SERVICE" /SQLSYSADMINACCOUNTS="NETWORK SERVICE"
/AGTSVCACCOUNT="NETWORK SERVICE" /ASSVCACCOUNT="NETWORK SERVICE"
/RSSVCACCOUNT="NETWORK SERVICE" /ISSVCAccount="NETWORK SERVICE"
/ASSYSADMINACCOUNTS="NETWORK SERVICE
一点谷歌总是能解决问题......
要将 SQL Server 2005 配置为允许远程连接,您必须完成以下步骤:
1.) 在要从远程计算机连接的 SQL Server 实例上启用远程连接。
2.) 打开 SQL Server Browser 服务。
3.) 配置防火墙以允许与 SQL Server 和 SQL Server Browser 服务相关的网络流量。
您可以在安装项目的先决条件中包含 SQL Server Express。
当您构建安装项目时,它将从 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages 中获取安装所需的包
然后,您可以修改 SQL Express 的 package.xml 文件,以更改安装时的配置方式。查找命令参数元素,然后打开混合模式身份验证添加 SECURITYMODE=SQL 以启用远程访问添加 DISABLENETWORKPROTOCOLS=0
(或者对于 SQL 2008 r2 它是 /tcpenabled=1 )
当最终用户运行安装时,将首先安装 SQL Express,并使用您指定的选项。