我有我的访问文件(.mdb),其中包含使用MSDASQL.1作为提供程序的SQL Server 2012连接。 如果我们禁用TLS1.0(因为允许的新版本为TLS1.2),则通过Citrix以某种方式,连接会产生SSL安全错误。 人们说MSDASQL.1太旧了,不支持TLS 1.2。 无论MADASQL.1是否支持TLS 1.2,我什么地方都找不到信息。
我的连接字符串是 “ Provider = MSDASQL.1;持久安全信息= False;数据源=”&DSNname
但是,当我们禁用TLS1.0时,它会失败。 我尝试将MSDASQL.1更改为MSOLEDB,但是它需要服务器名称。 输入中只有DSN名称,它分散在多个工具中,因此我们无法更改使用DSN获取连接字符串的样式。
“ Provider = MSDASQL.1;持久性安全信息= False;数据源=”&DSNname
答案 0 :(得分:0)
SQLNCLI11.0可以正常工作。
例如,您可以使用以下功能创建DSN
Declare
Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" ( _
ByVal hwndParent As Long, _
ByVal fRequest As Long, _
ByVal lpszDriver As String, _
ByVal lpszAttributes As String) _
As Long
并将“ SQL Server Native Client 11.0”作为驱动程序字符串;
因为,新的“ TLS1.2”协议要求您将本机客户端11.0安装在计算机上,并在上面用作ODBC和连接字符串的驱动程序。
另外,请注意,即使是本机客户端11.0,某些旧版本也无法在TLS1.0上运行。因此,最好拥有最新的一枚。