2010-06-19 74 views

回答

67

它们是彼此的同义词,可用于intercha ngeably。

在.NET中,有一个叫SqlConnectionStringBuilder类,它是为处理使用类型安全的特性建立部分字符串SQL服务器连接字符串是非常有用的。此类保持同义词的内部列表,以便它可以映射从一个值到另一个:

 
+----------------------+-------------------------+ 
| Value    | Synonym     | 
+----------------------+-------------------------+ 
| app     | application name  | 
| async    | asynchronous processing | 
| extended properties | attachdbfilename  | 
| initial file name | attachdbfilename  | 
| connection timeout | connect timeout   | 
| timeout    | connect timeout   | 
| language    | current language  | 
| addr     | data source    | 
| address    | data source    | 
| network address  | data source    | 
| server    | data source    | 
| database    | initial catalog   | 
| trusted_connection | integrated security  | 
| connection lifetime | load balance timeout | 
| net     | network library   | 
| network    | network library   | 
| pwd     | password    | 
| persistsecurityinfo | persist security info | 
| uid     | user id     | 
| user     | user id     | 
| wsid     | workstation id   | 
+----------------------+-------------------------+ 

还有其他相似的类来处理ODBCOleDb连接(与反射器的帮助编译)字符串,但遗憾的是没有其他数据库供应商 - 我认为负责供应商的库提供这样的实现。

+0

备注对于未来的观众来说: 可信连接在Sql Server 2014中不适用于我。集成安全性的确如此,所以我就这么做了! – statue 2014-12-03 19:20:13

+4

在SQL Express 2014我使用trusted_connection和它的工作...注意underscorec请你必须使用trusted_connection – 2015-05-17 12:28:30

9

它们是相同的。

不幸的是,有几个变化这样的,其中包括:

服务器/数据源

数据库/初始目录

我不知道变化的起源,我认为一些意味着是通用的(不是以数据库为中心,所以如果连接到RDBMS VS连接到目录服务等,您的连接字符串看起来非常相似)

+0

术语'catalog'是关系数据库命名的一部分,而并非指什么,但一个RDBMS。这是很好的解释在这个答案:http://stackoverflow.com/questions/7022755/whats-the-difference-between-a-catalog-and-a-schema-in-a-relational-database – ProfK 2016-09-24 04:05:24

2

那么一点点后,我发现了名称冲突的起源。 ODBC使用了一组令牌,并为OLEDB定义了一组不同的令牌。由于传统原因,对于Sql Server,它们仍然可以互换使用。

Trusted_Connection =真ODBC和集成安全性= SSPI是OLEDB。

+1

时使用“是”,而不是“真” http://www.connectionstrings.com/sql-server似乎要么说适用于OLEDB。你有不同的资源吗? – Aligned 2012-01-31 03:10:46

1

在我来说,我已经发现了“Trusted_Connection”和“综合安全”之间的差异。我正在使用Microsoft SQL Server 2005.最初我使用Windows登录(Integrated Security = SSPI)。但是当我通过添加用户ID和密码的SQL Server验证取代Windows验证时,将SSPI替换为“False”失败。它返回了“多步OLE DB操作生成错误”。但是,当我用“Trusted_Connection = no”替换“Integrated Security = False”时,它就起作用了。

+0

如果您使用SQL Server身份验证并指定用户标识和密码,则不需要提及“集成安全性”或“trusted_connections”。 – grahamesd 2017-05-15 18:11:20

相关问题