我正在使用 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");
}
现在,当我安装不同的应用程序(客户端版本)时,我希望能够连接到该数据库引擎。我设法通过执行以下操作来连接到它:
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");
}
为了使该代码正常工作,我必须执行以下操作:
所以我的问题是:
我如何用代码配置它?当我部署应用程序时,我希望我的应用程序像它一样安装 sql express,但我也想启用 tcp/IP 连接,启用一些端口,最后为帐户“SA”创建密码,因为我无法连接到如果 sa 帐户没有密码,则远程数据库。
或者也许我要求太多而我做错了事。也许我应该只为我计划部署的数据库而不是数据库引擎做这一切。任何更容易的事情。我很难部署这个,也许部署本地数据库和 wcf 服务会更容易,以便在本地数据库上远程创建 CRUD 操作。
EIDT
我发现这 3 个链接声称可以做类似的事情,但我仍然无法使其工作。
1) http://support.microsoft.com/kb/839980
2) http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/c7d3c3af-2b1e-4273-afe9-0669dcb7bd02/
3) http://www.sql-questions.com/microsoft/SQL-Server/34211977/can-not-connect-to-sql-2008-express-on-same-lan.aspx