Ton*_*Nam 5 c# deployment database-connection sql-server-express
我正在使用 sql server express 2008 部署一个应用程序。在我的应用程序的先决条件部分中,我已包括:
因此,当用户安装我的应用程序时,它也会安装 sql express。
然后我将能够连接到该数据库引擎:
try
{
// database should be in the same network
SqlConnection conn =
new SqlConnection(@"Data Source=.\sqlexpress; Integrated Security=True");
conn.Open();
MessageBox.Show("Connection succesfull");
}
catch
{
MessageBox.Show("Unable to connect");
}
Run Code Online (Sandbox Code Playgroud)
现在,当我安装不同的应用程序(客户端版本)时,我希望能够连接到该数据库引擎。我设法通过执行以下操作来连接到它:
try
{
SqlConnection conn =
new SqlConnection(@"Data Source=192.168.0.120\sqlexpress,22559; USER=sa; PASSWORD=*********");
conn.Open();
MessageBox.Show("Connection succesfull");
}
catch
{
MessageBox.Show("Unable to connect");
}
Run Code Online (Sandbox Code Playgroud)
为了使该代码正常工作,我必须执行以下操作:
我如何用代码配置它?当我部署应用程序时,我希望我的应用程序像它一样安装 sql express,但我也想启用 tcp/IP 连接,启用一些端口,最后为帐户“SA”创建密码,因为我无法连接到如果 sa 帐户没有密码,则远程数据库。
或者也许我要求太多而我做错了事。也许我应该只为我计划部署的数据库而不是数据库引擎做这一切。任何更容易的事情。我很难部署这个,也许部署本地数据库和 wcf 服务会更容易,以便在本地数据库上远程创建 CRUD 操作。
我发现这 3 个链接声称可以做类似的事情,但我仍然无法使其工作。
下载sql server express 2008(SQLEXPR32_x86_ENU.exe)并将其放在我的C盘根目录中。然后我使用以下参数安装它:
C:\SQLEXPR32_x86_ENU.exe /q /hideconsole /action=Install /features=SQL /instancename=SQLEXPRESS /enableranu=1 /sqlsvcaccount="NT Authority\Network Service" /AddCurrentUserAsSqlAdmin /skiprules=RebootRequiredCheck /TCPENABLED=1
我添加 /TCPENABLED=1 以启用 TCP/IP