没有 SQL Management Studio 的远程 SQL Server 2008 的连接字符串
Posted
技术标签:
【中文标题】没有 SQL Management Studio 的远程 SQL Server 2008 的连接字符串【英文标题】:Connection string for remote SQL server 2008 without SQL Management Studio 【发布时间】: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 来使事情正常进行的情况,但我没有,所以没有它很难做到这一点吗?
请帮忙,谢谢。
【问题讨论】:
【参考方案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 由托管服务提供商提供给我。以上是关于没有 SQL Management Studio 的远程 SQL Server 2008 的连接字符串的主要内容,如果未能解决你的问题,请参考以下文章
没有 SQL Management Studio 的远程 SQL Server 2008 的连接字符串
SQL Server 2017 Management Studio 中没有源代码控制选项
如何在没有 SQL Server Management Studio 的情况下在 SQL Server Express LocalDB 中使用 Visual Studio 2013 创建两个表之间的关
数据库oracle有没有类似sql server management studio这种可视化操作界面