从ODBC(SQL Server)表列表中删除数据库名称

时间:2014-10-09 20:26:28

标签: sql-server windows odbc minitab-16

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

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

enter image description here

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

3 个答案:

答案 0 :(得分:0)

我在我的系统上做了一个从零开始的实验来掌握情况:

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

Add User DSN

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

Create a new data source to SQL SEERVER

并按照向导进行操作(我在向导中选择master作为默认数据库)。

现在怎样?让我们看看我们是否可以在客户端应用程序中使用它(在我的情况下是visual Studio 2013):

  1. 转到“服务器资源管理器”> “数据连接”>右键单击并“添加连接...”> “将数据源更改为”Microsoft ODBC数据源“>按确定>
  2. 现在您之前添加的数据源[Test_Plan2]将出现在数据源规范

    Data Source Specification

    测试连接并按OK。

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

    ODBC Connection

    [右键单击新创建的ODBC连接,然后选择“新查询”:如果你不想要,你根本不需要选择任何一个表,但如果你想选择你需要的那个]>关闭它并编写SQL查询

    SELECT * FROM MSreplication_options
    

    enter image description here

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

答案 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/

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

答案 2 :(得分:0)

事实证明这是Minitab的功能,并且没有办法真正改变它。这就是程序的设计方式。