SqlClient/OLEDB 驱动程序的连接字符串,如 jdbc:jtds 驱动程序?

Posted

技术标签:

【中文标题】SqlClient/OLEDB 驱动程序的连接字符串,如 jdbc:jtds 驱动程序?【英文标题】:Connection string for SqlClient/OLEDB driver like jdbc:jtds driver? 【发布时间】:2022-01-13 21:46:46 【问题描述】:

我正在 Ubuntu/Windows 上开发 .NET6 WebApi 项目,并且与 SQL Server DB 的连接配置为使用 Windows 身份验证。在 Windows 上,我可以使用此连接字符串 Data Source=DB-Name;Initial Catalog=Cat1;Integrated Security=SSPI。在 Linux 上,我们已排除使用 Kerboros 进行身份验证,而是希望为 java 应用程序找到类似于 jdbc:jtds:sqlserver://DBName:Port;domain=ABC_XYZ;useNTLMv2=true 的连接字符串。这是否可以使用 SQL 客户端、ODBC、OLEDB 或任何其他支持的 .net6 客户端?使用 JDBC 连接字符串,我可以连接到 Jetbrains Rider 中所需的数据库。

【问题讨论】:

【参考方案1】:

.Net SqlClient 不支持提供凭据的 NTLM,存在跟踪问题here。仅限 Kerberos、SQL 身份验证和(对于 Azure SQL)AAD 身份验证。

JDBC 是唯一支持 Linux 上 NTLM 的 Microsoft 驱动程序。

【讨论】:

我更新了问题。这是否可以使用任何其他支持 .net6 的客户端,如 Oledb、ODBC ? jTDS 驱动程序不是 Microsoft 驱动程序。 Microsoft JDBC Driver for SQL Server 以同样的方式支持 NTLM。

以上是关于SqlClient/OLEDB 驱动程序的连接字符串,如 jdbc:jtds 驱动程序?的主要内容,如果未能解决你的问题,请参考以下文章

编一个程序,将两个字符串连接起来,(1)用strcat函数(2)不用strcat函数。

PostgreSQL 连接字符串/URL 的格式是啥?

在web程序中连接Oracle数据库的连接字符串怎么写

所有连接的应用程序都需要实体框架连接字符串

QODBC连接字符串

C#winform程序连接ACCESS数据库字符串.