2015-08-09 94 views
0

我有一个vb6程序连接到SQL Server数据库,我配置为在网络中共享。如何发布sql server的配置

https://www.youtube.com/watch?v=OqB3GBKybng

,打开一个端口来允许网络接入

我的VB6代码连接

CN.Open "Provider =SQLNCLI;workstation id=192.168.45.100,333;packet size=4096;user id=MyUser;pwd=MyPassword;data source=192.168.45.100,333;persist security info=False;initial catalog=MyDB;" 

我配置的数据库,以便能够使用OPENROWSET语句,并把这两个码

sp_configure 'show advanced option', 1 
GO 
RECONFIGURE 

and

sp_configure 'Ad Hoc Distributed Queries', 1 
GO 
RECONFIGURE 

问题是当我想发布我的程序时,我想将配置自动安装到客户端计算机上而不是手动安装。

+0

我误解了你的问题,所以我会删除我的答案。你问如何在你的应用程序中安装SQL Server,或者只是配置它? –

+0

两者...我想安装并配置它,而无需在客户端PC中安装SQL Server – Abdex

+0

因此,您的客户端也将有一个服务器,并且您希望远程安装SQL Server在该框上? –

回答

0

如果远程SQL Server存在并且已经配置为允许远程连接,则只需在安装过程中对其执行SQL查询即可。这可以通过自定义代码或脚本宿主来完成,例如由安装程序运行的PowerShell或VBScript。下面是一个PowerShell脚本,需要连接字符串作为命令行参数:

[CmdletBinding()] 
    param (
     [string]$ConnectionString 
    ) 

    $connection = New-Object System.Data.SqlClient.SqlConnection($ConnectionString); 
    $connection.Open(); 
    $command = New-Object System.Data.SqlClient.SqlCommand("EXECUTE sp_configure 'show advanced option', 1;RECONFIGURE;", $connection); 
    $nul = $command.ExecuteNonQuery(); 
    $command.CommandText = "EXECUTE sp_configure 'Ad Hoc Distributed Queries', 1;RECONFIGURE;"; 
    $nul = $command.ExecuteNonQuery(); 
    $connection.Close(); 

如果你的安装程序没有本地PowerShell支持像下面的示例的命令可以用来运行脚本文件。

PowerShell -ExecutionPolicy RemoteSigned -File ".\ConfigureSql.ps1" -ConnectionString "Data Source=192.168.45.100,333;User Id=MyUser;Password=MyPassword" 
+0

..我没有找到PowerShell ....和如何共享SQL Server数据库没有安装SQL Server 2005 – Abdex

+0

谢谢你:) – Abdex

+0

@Abdex,没有直接的Powershell支持,大多数安装程序都支持运行命令行EXE。你可以运行上面提到的命令行,像其他EXE一样来配置SQL。 –