我正在从共享主机迁移到Virtual Dedicated Server(都在GoDaddy)。 令人惊讶的是,到目前为止一切都很顺利。但是,现在我的Web应用程序似乎无法连接到数据库(我在服务器上创建)。
我尝试了几个选项,包括给它服务器名称等,例如:
<add name="dbname" connectionString="Data Source=servername\SQLEXPRESS2008;Initial Catalog=theDB;User Id=servername\usernameAcceptedByMangmentStudio;Password=mypwd; Trusted_Connection=False;"/>
也:
<add name="dbname" connectionString="Data Source=.\SQLEXPRESS2008;Initial Catalog=theDB;User Id=usernameAcceptedByMangmentStudio;Password=mypwd; Trusted_Connection=False;"/>
也:
<add name="dbname" connectionString="Data Source=servername\SQLEXPRESS2008;Initial Catalog=theDB; Integrated Security=True;>
(这是我在本地机器上的工作方式)。
似乎什么都没有用。有任何想法吗?提前谢谢。答案 0 :(得分:2)
您似乎不知道您是否有命名实例或默认实例。甚至两者之间的区别。
首先,我将解释确定您拥有哪种方式的最快方法,然后我将解释其中的差异。
您需要连接到您的服务器(我假设您可以远程桌面或类似的东西),然后打开控制面板&gt;管理工具&gt;服务。在该列表中应该有一个名为SQL Server的项目,它将如下所示:
SQL Server(MSSQLSERVER)
或者这个:
SQL Server(some_name)
前者是默认实例。如果这是你看到的,那么连接字符串应该是:
"Data Source=localhost;..."
后者是一个命名实例。如果这是你看到的,你的连接字符串应该是:
"Data Source=localhost\some_name;..."
如果您同时看到这两个,那么您需要告诉我们您最初如何连接到此实例以创建数据库(并且您需要决定要使用哪个,因为您可能不需要两者)。
如果这没有帮助,你需要比“不起作用”更具体。您无法连接到服务器或数据库吗?什么是实际的错误消息?创建数据库时,您是否使用了User Instances / AttachDbFileName功能?您是否可以在Management Studio中显示连接对话框的屏幕截图?您的应用是在服务器上还是在本地计算机上?是否有可能指定IP地址而不是各种本地引用?你有没有联系GoDaddy支持你的问题?它们比编程Q&amp; A站点更能帮助您,因为它们可以在10秒内连接到您的服务器,并告诉您应该如何引用SQL Server实例。
至于差异,当您需要安装多个单独的SQL Server实例时,通常会使用命名实例。这通常不是生产机器的要求;在开发机器上更常见,您必须在迁移或并行升级期间测试多个版本,模拟不同的环境或临时。默认实例在端口1433上侦听开箱即用。命名实例在其他端口上运行,并且通常使用SQL Browser服务为远程计算机确定连接到它们的准确程度。
答案 1 :(得分:0)
如果您的数据库具有UserName和密码(SQL Server身份验证),只需使用:
<add name="dbname" connectionString="Data Source=yourServerName;Initial Catalog=YourDB;User ID=YouruserId;Password=YourPassWord" providerName="System.Data.SqlClient"/>
仅供参考:确保您的数据库服务器身份验证是SQL Server和Windows身份验证模式
您还可以查看:Connection strings for SQL Server 2008了解详情。
此致