使用脚本启用与 sql express 的远程连接

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 个链接声称可以做类似的事情,但我仍然无法使其工作。

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

Ton*_*Nam 4

下载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