【问题标题】:Connection string for remote SQL server 2008 without SQL Management Studio没有 SQL Management Studio 的远程 SQL Server 2008 的连接字符串
【发布时间】:2012-08-21 14:45:03
【问题描述】:

我知道这是一个经典问题,但我太新手了,连基础知识都不懂(抱歉)。我有这个带有数据库(SQL Server 2008)的 ASP.NET“网站”,我正在尝试使用 VS 2010 的网站复制工具将其部署在远程主机服务器(HostGator)上。

在VS 2010中,我可以直接通过数据库的“属性”抓取Connection字符串,结果是:

数据 Source=.\SQLEXPRESS;AttachDbFilename="C:\Users\myName\Documents\Visual Studio 2010\WebSites\Experiment\App_Data\data.mdf";集成 安全=真;用户实例=真

现在,我知道存在一个名为 http://connectionstrings.com/ 的网站,但乍一看它对我来说太难了。

我当前的连接字符串:

数据 Source=domainName.com\SQLEXPRESS;AttachDbFilename=C:\inetpub\vhosts\domainName\httpdocs\Experiment\App_Data\data.mdf;集成 安全=真;用户实例=真

我很确定,这是错误的,因为它给了我以下经典错误:

发生网络相关或特定于实例的错误,同时 建立与 SQL Server 的连接..

但我不知道如何解决它。从哪里开始寻找,如何启动,如何获取构建连接字符串所需的参数。如何找到AttachDbFilename 的路径?你能帮忙吗?

我相信,连接字符串是唯一需要修改的参数。如果还有其他的,请建议?另外,我不断遇到使用 SQL Management Studio 来使事情正常进行的情况,但我没有,所以没有它很难做到这一点吗?

请帮忙,谢谢。

【问题讨论】:

    标签: c# asp.net sql-server deployment database-connection


    【解决方案1】:

    您不能指定相对于您自己机器的目录。 将 AttachDbFilename 更改为

    AttachDbFilename=|DataDirectory|data.mdf
    

    您的托管公司应向您提供Data Source 的详细信息以及安全模型(可能您需要使用特定用户)

    您可以从this link下载SqlServer Management Studio Express

    【讨论】:

    • 感谢您的帮助。但是我会将 DataDirectory 设置为什么?我也需要问托管公司吗?还是我提到的路径是正确的?因为我有点猜到那个了。首先如何获得这条路?谢谢。
    • 不,DataDirectory 是一个特殊的占位符,将由 ASP.NET 引擎直接解析。您应该只将 MDF 文件放在您的网站 App_Data 文件夹中
    • 谢谢,所以我从他们那里得到了信息。他们给了我服务器的 IP 地址。够了吗?还是我也必须使用实例名称?比如“IP_Address\SQLEXPRESS”?谢谢。 ||另一个问题,我刚刚将数据库复制到远程服务器,为什么/如何需要/使用安全模型?如数据库用户名和密码?这是怎么来的?我该如何设置/获取这个?很抱歉进一步提问。
    • 如果他们没有给你任何其他关于端口的指示,IP 地址应该足够了。您不需要指定实例名称,因为您由他们的主服务器提供服务(可能是完整的 sqlserver 安装)。用户和密码应由他们连同 IP 一起提供。如果没有,你可以问他们他们的政策是什么。
    • 谢谢。快速提问,当我将 MySQL 与 PHP 一起使用时,即使在本地工作时,我也必须使用用户名和密码来访问数据库,并且当我在 Web 服务器中创建数据库时,我设置了另一个凭据(由托管人员提供)。在当前情况下,我从未在本地使用用户名/密码,所以当我使用网站复制工具将我的数据库/表等复制到托管空间/网络服务器(在 App_Data 文件夹中)时;那么用户名和密码到底在哪里呢?还是不需要?或者我真的错过了哪个方面?复制 *.mdf 后我到底应该做什么。再次感谢。
    【解决方案2】:

    男人,

    你怎么看HttpServerUtility.MapPath Method。它返回与 Web 服务器上指定的虚拟路径相对应的物理文件路径。

    []的

    【讨论】:

      【解决方案3】:

      当您获得托管服务时。他们将为您提供连接字符串。像这样

        <add name="ConnectionStringName" 
             connectionString="Data Source=localhost;Database=YourDatabaseName;Uid=YourUserNameForDatabase;password=yourpassword;"
        providerName="System.Data.SqlClient" />
      

      如果您需要更多帮助,请告诉我

      【讨论】:

      • 感谢您的帮助。我的连接字符串在 C# 中,而不是在 web.config 中。那是问题吗?因为我从未使用过“providerName”子句。它在 C# 中也很重要吗?另外,将“数据源”设置为本地主机是否有任何具体原因?或者这是正确的参数?
      • localhost 由托管服务提供商提供给我。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      相关资源
      最近更新 更多