这似乎是新的,或者至少是自上次我从Minitab 16 创建到SQL Server 的ODBC连接以来。
当我创建新的ODBC连接时,数据库名称现在位于下拉列表中。
正如您所看到的,我无法读取完整的表名,而且我的几个表具有相似的名称。它并不总是包含数据库名称,是否有一些选项需要取消选中或删除它?
答案 0 :(得分:0)
我在我的系统上做了一个从零开始的实验来掌握情况:
首先,通过执行以下操作,将用户DSN 添加到我的计算机[Windows 7]和远程[SQL Server 2012]: 控制面板>设置数据源(ODBC)>用户DSN [标签]>按添加按钮
选择“SQL Server Client 11.0”并按完成 您将看到如下内容:
并按照向导进行操作(我在向导中选择master作为默认数据库)。
现在怎样?让我们看看我们是否可以在客户端应用程序中使用它(在我的情况下是visual Studio 2013):
现在您之前添加的数据源[Test_Plan2]将出现在数据源规范
中
测试连接并按OK。
现在通过查询来使用这个新创建的连接
[右键单击新创建的ODBC连接,然后选择“新查询”:如果你不想要,你根本不需要选择任何一个表,但如果你想选择你需要的那个]>关闭它并编写SQL查询
SELECT * FROM MSreplication_options
我根本没有这个数据库名称问题。
答案 1 :(得分:0)
这是在升级SQL Server - 2012期间发生的。
在SQL Server中,完全限定的表名称采用以下格式:
[database].[schema].[table]
在SQL Server Management Studio中,您可以配置/更改所有默认值。
您可以基于每个用户设置默认架构:
Security > Logins > (right click) user > Properties >
User Mapping > Default Schema
幸运的是,SQL Server 2012通过允许我们为Windows组分配默认架构来解决此安全问题,这有助于组织简化其数据库架构管理。
以下Transact SQL(T-SQL)演示了为Windows组分配默认架构的过程:
-- Creating Default Schema "ProdAdmins" for Windows Group "MyDomain\ProdDBAs"
CREATE SCHEMA [ProdAdmins] AUTHORIZATION [MyDomain\ProdDBAs]
GO
-- Set Default Schema for Windows Group "MyDomain\ProdDBAs"
ALTER USER [MyDomain\ProdDBAs] WITH DEFAULT_SCHEMA=[ProdAdmins]
GO
以下链接可以为您提供帮助:
http://blog.mclaughlinsoftware.com/2012/09/16/setup-sql-server-schema/
答案 2 :(得分:0)
事实证明这是Minitab的功能,并且没有办法真正改变它。这就是程序的设计方式。