1

这似乎是新事物,或者至少自我上次从 Minitab 16创建到 SQL Server 的 ODBC 连接以来是这样。

当我创建新的 ODBC 连接时,数据库名称现在位于下拉列表中。

在此处输入图像描述

如您所见,我无法读取完整的表名,并且我的几个表具有相似的名称。它并不总是包含数据库名称,是否需要取消选中某些选项或删除它?

4

3 回答 3

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/

http://searchsqlserver.techtarget.com/feature/SQL-Server-2012-security-Changes-for-the-newest-version

于 2014-10-17T11:01:59.173 回答
0

我在我的系统上做了一个从头开始的实验来了解情况:

首先让我们通过执行以下操作将用户 DSN添加到我的机器 [Windows 7] 和远程 [SQL Server 2012]:控制面板 > 设置数据源 (ODBC) > 用户 DSN [Tab] > 按添加按钮

添加用户 DSN

选择“SQL Server Client 11.0”并按完成您将看到如下内容:

为 SQL SEERVER 创建一个新数据源

并按照向导完成(我在向导中选择 master 作为我的默认数据库)。

怎么办?让我们看看我们是否可以在我们的客户端应用程序中使用它(在我的例子中是 Visual Studio 2013):

  1. 转到“服务器资源管理器”>“数据连接”>右键单击并“添加连接...”>“将数据源更改为“Microsoft ODBC 数据源”>按确定>

现在您之前添加的数据源 [Test_Plan2] 将出现在数据源规范中

数据源规范

测试连接并按 OK。

现在通过查询来使用这个新创建的连接

ODBC 连接

[右键单击新创建的 ODBC 连接并选择“新查询”:如果您不想选择任何表,您甚至不需要选择任何表,但如果您想选择您需要的表] > 关闭它并编写您的 SQL 查询

SELECT * FROM MSreplication_options

在此处输入图像描述

我根本没有那个数据库名称问题。

于 2014-10-17T08:57:00.737 回答
0

事实证明这是 Minitab 的一个功能,无法实际更改它。这就是程序的设计方式。

于 2014-10-20T12:50:46.763 回答