创建与 SQL Server 2008 Express 的 ODBC 连接时出错

创建与 SQL Server 2008 Express 的 ODBC 连接时出错

创建系统 DSN 时,出现错误:

Connection failed:  
SQLState: '08001'  
SQL Server Error: 2  
[Microsoft][SQL Server Native Client 10.0]Named Pipes Provider: Could  
not open a connection to SQL Server [2].  
Connection failed:  
SQLState: 'HYT00'  
SQL Server Error: 0  
[Microsoft][SQL Server Native Client 10.0]Login timeout expired

我运行的是 Vista Home Premium 64 位 SP2,并且安装了 SQL Server 2008 Express Advanced,没有出现任何错误。我将在同一台 PC 上安装的应用程序本地使用数据库。

我能够使用 Windows 身份验证成功连接到 SQL Server Management Studio(我的 Windows 帐户是本地管理员的成员),并且可以成功创建具有默认所有权的数据库(默认为我的 Windows 帐户)。我还可以使用带有 SQL 身份验证和 SA 帐户的 SSMS 进行连接。

SQL Server 配置管理器显示Shared Memory,、、TCP/IPNamed Pipes已为SQL Native Client 10.0 Configuration、、SQL Native Client 10.0 Configuration (32bit)和启用SQL Server Network Configuration (SQLEXPRESS)

SQL Server (SQLEXPRESS)服务SQL Server Reporting Services (SQLEXPRESS)正在运行。

当我创建系统 DSN 时,我的驱动程序选择是SQL server( sqlsrv32.dll4-10-09),它提供通用向导,以及SQL Server Native Client 10.0( sqlncli10.dll7-10-08),它提供 SQL Server 2008 向导。我选择后者。

我输入了名称、说明,并尝试了MyPCName127.0.0.1作为服务器名称(浏览后没有结果)。单击下一步后,我将其保留为集成 Windows 身份验证,并选中连接到服务器以获取其他选项。单击下一步后,我收到上述错误。使用 SQL 身份验证和 SA 帐户时,我收到相同的错误。

我知道这可能是一个简单的答案(权限问题?)而且我是一个 SQL 菜鸟,所以我很感激任何能为我指明正确方向的东西。
谢谢!

答案1

我搞明白了。MyPCName我需要使用而不是MyPCName\SQLExpress。过去,我总是只使用计算机名称,从来没有遇到过问题。也许 2008 有所不同。

答案2

这就是实例名称 ( Servername\instance)。过去您可能有默认实例(通常没有名称);现在您需要并且必须明确说明,因为许多实例可能驻留在同一个服务器上。

相关内容