为 SQL Server 2014 设置 up/troubleshooting ODBC 连接
Setting up/troubleshooting ODBC connection for SQL Server 2014
我之前已经建立了与数据库的 ODBC 连接,但我目前遇到了问题,似乎无法弄清楚我遗漏了什么。这不是我的专业领域,微软 help/documentation 小于 'user friendly'。感谢任何指点。
我在本地有一个 运行ning 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'
查询returns:
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 中 运行ning 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 服务器显示在向导的可用服务器列表中。所以它似乎看到了服务器但无法连接到它。
请检查您是否允许使用 'Microsoft Sql Server 2014\Configuration Tools\Sql Server Configuration Tool' 实用程序远程连接到 SQL 服务器。
转到 Sql 服务器网络配置并确保允许 TCP/IP 进行远程连接。
另外,我会尝试在 Sql 服务器 PC 上使用 Windows 防火墙。
在"Create a New Data Source to SQL Server"dialog/window中,指定了不正确的"Server name:"。由于您有一个 SQL 服务器的命名实例,请输入 SQL 服务器主机的名称、一个反斜杠和实例名称。格式如下:SQLHostName\SQLInstanceName
.
我一直在寻找这个问题的解决方案。我正在尝试 link SQL 另一台服务器上的表到 Microsoft Access 前端以使用表单进行数据输入等
这里的评论解决了这个问题,为了清楚起见,我想我会提供一个统一的解决方案:
来自 SQL 服务器连接管理器:
- 启用SQL服务器浏览器
从 'SQL Server Services' 修改 'SQL Server Browser' 的属性并将 'Start Mode' 设置为 'Automatic'。应用更改并退出。
启动'SQL Server Browser'。
- 启用TCP/IP
从 'SQL Server Network Configuration' -> 'Protocols for [your server name]',然后启用 TCP/IP。
然后从您的本地计算机创建一个 ODBC 连接。从那里我使用命名的 ODBC 连接访问 link 我需要的表。
我之前已经建立了与数据库的 ODBC 连接,但我目前遇到了问题,似乎无法弄清楚我遗漏了什么。这不是我的专业领域,微软 help/documentation 小于 'user friendly'。感谢任何指点。
我在本地有一个 运行ning 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'
查询returns:
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 中 运行ning 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 服务器显示在向导的可用服务器列表中。所以它似乎看到了服务器但无法连接到它。
请检查您是否允许使用 'Microsoft Sql Server 2014\Configuration Tools\Sql Server Configuration Tool' 实用程序远程连接到 SQL 服务器。 转到 Sql 服务器网络配置并确保允许 TCP/IP 进行远程连接。 另外,我会尝试在 Sql 服务器 PC 上使用 Windows 防火墙。
在"Create a New Data Source to SQL Server"dialog/window中,指定了不正确的"Server name:"。由于您有一个 SQL 服务器的命名实例,请输入 SQL 服务器主机的名称、一个反斜杠和实例名称。格式如下:SQLHostName\SQLInstanceName
.
我一直在寻找这个问题的解决方案。我正在尝试 link SQL 另一台服务器上的表到 Microsoft Access 前端以使用表单进行数据输入等
这里的评论解决了这个问题,为了清楚起见,我想我会提供一个统一的解决方案:
来自 SQL 服务器连接管理器:
- 启用SQL服务器浏览器
从 'SQL Server Services' 修改 'SQL Server Browser' 的属性并将 'Start Mode' 设置为 'Automatic'。应用更改并退出。
启动'SQL Server Browser'。
- 启用TCP/IP
从 'SQL Server Network Configuration' -> 'Protocols for [your server name]',然后启用 TCP/IP。
然后从您的本地计算机创建一个 ODBC 连接。从那里我使用命名的 ODBC 连接访问 link 我需要的表。