Version 17.10.5 is the latest general availability (GA) version of the 17.x driver. If you have a previous version of Microsoft ODBC Driver 17 for SQL Server installed, installing 17.10.5 upgrades it to 17.10.5.
On SQL Server 2016, how do I guarantee using Microsoft ODBC Driver 13 for SQL Server in a linked server? I don't mind there being another layer in there, such as the MSDASQL provider, but I do want the ODBC Driver 13 for SQL Server to be what ends up making the connection to the remove instance.
With testing on SQL Server 2016 RC2 on Windows 2016 Technical Preview 4, both fresh installs on a blank VM, I can use odbcad32 to see the "ODBC Driver 13 for SQL Server", version 2015.130.1300.275, with file name MSODBCSQL13.DLL.
The version and the filename are identical in the 64-bit odbcad32 screen as well as the 32-bit odbcad32 screen from c:\windows\syswow64, so I do not believe it to be a 32 vs 64 bit issue at this time (particularly since the driver was installed by the SQL Server 2016 RC2 install).
It is true that linked servers are dependent on the OLEDB interface but the ODBC driver can be safely used between SQL Server servers. (There's a misconception in the wild that such a configuration is unsupported by Microsoft; that is a myth.)
Since middle of last year, my organization has been migrating to SQL Server 2016 and we are testing SQL Server 2017 (CTP 2.1). I have been migrating all of our linked servers (at least those pointing to SQL Server 2016 or SQL Server 2017) to use ODBC Driver 13 (or, more accurately, 13.1) and have yet to see any serious issues in over a year of testing against SQL Server 2016.
(In the interest of full disclosure, there is an issue with Graph Tables using linked servers; I reported the issue to Microsoft based on a linked server using ODBC 13.1, and Microsoft confirmed Graph Tables are not supported over linked servers (of any kind) in SQL Server 2017.)
It's not possible to use just ODBC. Linked servers use Distributed Queries which is dependent on the OLEDB interface. This is not an optional or interchangeable API. Below that API can be any OLEDB, ODBC or even JDBC provider so long as its implementation supports the OLEDB interface. For example, there is an OLEDB provider for ODBC which is one of the most common ways to run DQ against non-SQL Server data sources. SQL Server natively supports OLEDB so there's no need for the extra layer. Most/all of this information can be found in Books Online or MSDN.
I've setup an ODBC 64-bit driver on a server that runs SQL Server 2017. I picked the ODBC version to match the ElasticSearch installation (6.0.6). The installation of the ODBC driver and creation of a Linked Server went fine and I am able to connect from the ODBC applet. When I expand the Linked Servers node in SQL Server Management Studio, I get the following:
@bogdan.pintea A release of the ODBC driver that is not version locked would be appreciated. We are on ES 6.6 and upgrading because the ODBC driver isn't working right will not get any traction with the powers that be in any organization. And the upgrade itself is not exactly a trivial matter either.
It is no longer bound in lock-step to the server starting with this release; but: the general compatibility policy that Elasticsearch has towards the clients is still applicable; i.e. the server will support any client that's older than itself with up to one major release.
Elasticsearch clients do not generally have a backwards compatibility policy themselves (i.e. support older servers), although it might sometimes work, depending on the APIs the client accesses.
This is not specific to the SQL clients, but the SQL clients do require stricter integration to provide correctness and will complain if server's version is too old. And they do so because even if the version check would be edited out, connecting would still fail due to the changes that have occurred in previous releases.
That's why I was suggesting in my first answer that a server upgrade would be needed too. I do understand that server upgrades are unfortunately much more delicate than a client update and generally not done just for one client support, but these are the given limitations, I'm afraid.
So I have server 6.4.2. I tried installing 7.7 ODBC and it errored out. I installed 6.5 ODBC and it didn't get an error but now I can't do any direct queries over the linked server of the elasticsearch database. What version of the ODBC driver can I install that will work for both the linked server query and the installation compatibility.
Currently trying to use select * from linkedservername.clustername.indexname. Is this the correct format? I have also tried.
select * from openquery(linkedservername, 'select * from clustername.indexname') and this doesn't work either.
Try SELECT field FROM openquery(linkedservername, 'SELECT field FROM indexname') and expand from there. The catalog name is not required, but if you'd like to provided it, you'd need to use the ES/SQL catalog separator, which is :, like in SELECT field FROM clustername:indexname.
Supporting LinkedServer however required changes that applied both to the driver and the server and that are considered features, such as the artificial varchar limitation required by LinkedServer or adapting to its incapacity to work with BASE TABLEs.
The Microsoft ODBC Driver 17 for SQL Server provides native connectivity from Windows, Linux, & macOS to SQL Server and Azure SQL Databases. Note that this driver supports SQL Server 2019 only from version 17.3.
There is apparently no recent version available for version 13. We already have ODBC driver 17.10.4.1 and ODBC driver 18.2.2.1 installed, so we duly uninstalled ODBC driver 13.3.6430.49 from the server.
A "Microsoft ODBC driver 13 for SQL Server" warning popped up highlighting that the SQL Server Agent service was dependent on this driver version. And as expected, after uninstalling ODBC driver 13, the SQL Server Agent service refused to start.
We have only been able to obtain ODBC driver 13.0.811.168 from the Microsoft website, so now our driver is even more out of date! On a different server running the same build of SQL Server 2016, it lists ODBC Driver 13 as being version 14.0.1000.169, and this has not been flagged as a vulnerable version, but we cannot find anywhere to download this version from!
So the question is, how do we resolve this vulnerability without breaking the SQL Server Agent service? Why is the SQL Server Agent service on our machine still dependent on ODBC driver 13 when drivers 17 and 18 are available? Where can we obtain ODBC Driver 13 build 14.0.1000.169 from?
As per the above and attached, we already have ODBC driver 17.10.4.1 and ODBC driver 18.2.2.1 installed. We don't understand the dependency that the SQL Server Agent service has on the ODBC driver 13.
This could be the reason the SQL server agent service is not starting if SSIS, R objects, and others components were installed, and the ODBC driver was removed. You may consider running a repair on the SQL server installation.
We recommend that customers who are running ODBC versions 11 and 13 as part of an application outside of a SQL Server installation update to ODBC versions 17 or above or OLE DB versions 18 or above, which provide protection against this vulnerability. ODBC and OLE DB driver installations that are part of a supported SQL Server installation will be updated via SQL Server cumulative updates or general distribution release updates.
What installer would have created these ODBC DLLs? We have a few severs where the SQL Server 2016 builds are exactly the same (13.0.6430.49), but on some of the servers the ODBC version 13 drivers are 13.0.811.168 (i.e. vulnerable) and on others they are 14.0.1000.169 (i.e. not vulnerable). So we feel less confident that a future CU will address this.
The Sage 100 Advanced server installs client/server ODBC driver components, which allow remote workstations to process worktables using server-side ODBC processing. Report rendering is completed using a locally cached copy of the form or report and a local SAP Crystal Reports print engine.
On the Sage 100 Advanced server, you can set the share permissions to allow users to print server reports. You can grant permissions at the share point to allow for Read, Change, or Full Control access. When printing a form or report, the user can print to any valid Windows printer, defer reports, or export or e-mail the report.
Users with no access to the Sage 100 Advanced share point on the server will be able to print to Deferred. To print or preview from Deferred Printing, users must have a minimum of Read access to the Sage 100 Advanced server share point.
Currently have an ODBC connection from MS Access 2016 to SQL Server. The Access is not a multi-user system. MS Access is on a stand-alone computer that uses ODBC to connect to SQL server on our company network. SQL Server version is changing to SQL Server 2019 soon. The ODBC driver I use to connect to SQL Server currently is 2017.175.02.01. There is a newer version just recently added to my desktop, 10.00.19041.2486. My company does not support MS Access so I am coming to this forum.
Tableau and other SQL tools require an ODBC driver on the client machine to communicate with MarkLogic Server. This chapter describes how to install and configure your MarkLogic Server ODBC driver on your client.
Tableau communicates with MarkLogic Server via a 32-bit or 64-bit ODBC driver. You must install and configure the ODBC driver that matches the word length (32 or 64-bit) of the connecting application, regardless of the MarkLogic server or operating system. For example, your computer may be running 64-bit windows with a 32-bit installation of Microsoft Excel. In this case, you will need the 32-bit ODBC driver to connect Excel to any MarkLogic instance. You can install the 32-bit and 64-bit ODBC drivers on the same machine.
df19127ead