之前我已经建立了与数据库的ODBC连接,但我目前遇到了问题,似乎无法弄清楚我缺少的是什么。这不是我的专业领域,微软的帮助/文档不是“用户友好”。感谢任何指针。
我有一个本地运行的SQL Server 2014实例,我正在使用几个测试数据库来开发另一个应用程序。以下是有关设置的信息:
SELECT HOST_NAME() AS 'host_name()',
@@servername AS 'ServerName\InstanceName',
SERVERPROPERTY('servername') AS 'ServerName',
SERVERPROPERTY('machinename') AS 'Windows_Name',
SERVERPROPERTY('ComputerNamePhysicalNetBIOS') AS 'NetBIOS_Name',
SERVERPROPERTY('instanceName') AS 'InstanceName',
SERVERPROPERTY('IsClustered') AS 'IsClustered'
查询返回:
host_name() ServerName\InstanceName ServerName Windows_Name NetBIOS_Name InstanceName IsClustered
DECATHLETE DECATHLETE\SQLEXPRESS DECATHLETE\SQLEXPRESS DECATHLETE DECATHLETE SQLEXPRESS 0
在Windows ODBC数据源管理器(64位)中 - 我在Mac上的VMWare VM中运行W10,顺便说一句 - 当我尝试配置新的系统DSN时,服务器显示为可用。以下是设置信息:
Microsoft ODBC Driver for SQL Server Version 12.00.2000
Data Source Name: TEST
Data Source Description:
Server: DECATHLETE
Use Integrated Security: Yes
Database: (Default)
Language: (Default)
Data Encryption: No
Trust Server Certificate: No
Multiple Active Result Sets(MARS): No
Translate Character Data: Yes
Log Long Running Queries: No
Log Driver Statistics: No
Use Regional Settings: No
Use ANSI Quoted Identifiers: Yes
Use ANSI Null, Paddings and Warnings: Yes
测试连接会生成以下错误消息:
Microsoft ODBC Driver for SQL Server Version 12.00.2000
Running connectivity tests...
Attempting connection
[Microsoft][ODBC Driver 11 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [2].
[Microsoft][ODBC Driver 11 for SQL Server]Login timeout expired
[Microsoft][ODBC Driver 11 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
TESTS FAILED!
我已确认从SQL Server Management Studio访问数据库。登录使用没有密码的Windows身份验证。我可以进入,玩数据库,运行查询等(见下图)。
我很茫然。我之前创建的ODBC连接没有问题。自从将虚拟机从W7升级到W10以来,这似乎已成为一个问题。希望有人可以指出明显的疏忽。
*更新* 添加下面的ODBC配置向导的屏幕截图。请注意,SQL Server显示在向导上的可用服务器列表中。所以它似乎看到了服务器但没有连接到它。
答案 0 :(得分:0)
请检查您是否允许使用Microsoft Sql Server 2014 \ Configuration Tools \ Sql Server配置工具'远程连接到SQL Server。效用。 转到Sql Server网络配置并确保允许TCP / IP进行远程连接。 此外,我还尝试在Sql Server PC上使用Windows防火墙。
答案 1 :(得分:0)
在"为SQL Server创建新数据源"对话框/窗口,错误的"服务器名称:"已指定。由于您具有SQL Server的命名实例,因此请键入SQL Server主机的名称,反斜杠和实例名称。格式如下:SQLHostName\SQLInstanceName
。
答案 2 :(得分:0)
一段时间以来,我一直在寻找解决方案。我正在尝试将另一台服务器上的SQL表链接到Microsoft Access前端,以利用表单进行数据输入等。
这里的评论解决了这个问题,我想为清晰起见,我将提供一个统一的解决方案:
从SQL Server连接管理器中:
从“ SQL Server服务”中,修改“ SQL Server浏览器”的属性,并将“启动模式”设置为“自动”。应用更改并退出。
启动“ SQL Server浏览器”。
从“ SQL Server网络配置”->“ [您的服务器名称]的协议”,然后启用TCP / IP。
然后从本地计算机创建ODBC连接。从那里,我使用了命名的ODBC连接来访问所需的表。