我有一个连接到SQL Server数据库的vb6程序,我将其配置为在网络中共享。
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
和
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
问题是当我想发布我的程序时,我想在我的客户端计算机中自动安装配置而不是手动。
答案 0 :(得分: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"