2015-08-09 90 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。 –