Version 17.4 of the Microsoft ODBC Driver 17 for SQL Server has been released. Version 17.4 brings several added features and fixed issues. Fixed sending incorrect state to SQL Server during Session Recovery attempt when Connection Resiliency and Connection Pooling both are enabled, causing session to be dropped by the Server; Next steps. For Windows installations, you can download version 17.1 of the Microsoft ODBC Driver 17 for SQL Server here. Download ODBC Driver for SQL Server.; 2 minutes to read; In this article Microsoft ODBC Driver 17 for SQL Server Windows. Download the Microsoft ODBC Driver 17 for SQL Server on Windows. For Windows installations, you can download version 17.3 of the Microsoft ODBC Driver 17 for SQL Server from the Microsoft Download Center. Linux and macOS packages are also being uploaded and will be available soon. For installation details on those platforms see the online instructions for installing the Microsoft ODBC Driver for SQL Server. Unsure about other config's (don't have full access to server settings atm) The problem: One example: Vbscript is calling a stored procedure with a simple delete from a Clasp page written in vbscript. The delete happens, but it catches this error: Desc: MicrosoftODBC Driver 17 for SQL ServerSQL ServerExecuting SQL directly.
Using python (pyodbc) I tested the throughput of the SQL Server, ODBC Driver 13 for SQL Server, and SQL Server Native Client 11.0 drivers. The SQL Server driver was consistently over 10% slower than the other two options for select statements and around 50% slower for insert statements.
Track tasks and feature requests
Join 40 million developers who use GitHub issues to help identify, assign, and keep track of the features and bug fixes your projects need.
Sign up for free See pricing for teams and enterprises Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
commented Feb 4, 2019
I am unable to connect with SQL server 2008 R2 from ubuntu 18.04 and PHP 7.2 / 7.3 latest 17.2 driver. Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired. With ubuntu 16.04, same SQL server I am able to connect.. I am assuming is something with driver.. Anyone with same problem? When recurring problems are detected, Typing Meter suggests a quick training session with tailor-made exercises to hone those problem areas. Typing Master pinpoints your Weak spots and eliminates them with personalized exercises. Typing master pro full cracked version free download. Training is adjusted to your personal progress every step of the way. |
commented Feb 4, 2019
Hi @crisleiria Driver version 17.2 or higher is required for Ubuntu 18.04 support. Please double check the ODBC driver version. Also, can you provide a trace? |
commented Feb 4, 2019
I am using 17.2 version, I will get you a trace log as soon as possible. But in teory it is possible to connect to SQL Server 2008 R2 with 17.2 driver correct? |
commented Feb 4, 2019
Yes @crisleiria it is supported. Please check the system requirements |
commented Feb 5, 2019
Dear Yitam, Attached is the log file from my php application, we are using Laravel Framework. I have tried sql profile trace, but it is useless, no requests reach to SQL server. I have 100% sure that username and password is OK, we have the same source code running from ubuntu 16.04 and not problems on that envirement (driver version is 13). Another usefull information, I have used this script to install SQL server driver on ubuntu 18.04: https://github.com/laravel/homestead/issues/610#issuecomment-430679914 |
commented Feb 5, 2019
hi @crisleiria The provided link to the comment does not work, but I did skim through the comments on their issue 610. Please enable ODBC tracing in Ubuntu 18.04 and run sqlcmd again. That is the odbc trace log I was asking for. Can you ping the server? Login timeout may mean that you can't communicate with the server. You might also want to try isql , like this:isql -v -k 'Driver=ODBC Driver 17 for SQL Server;Server=<your server>;UID=<your user>;PWD=<your pass>' Do make sure you escape special characters in the password. Yet, since you could connect from your Ubuntu 16.04 (assuming with the same credentials), I have ruled out this possibility. |
commented Feb 6, 2019
Hi @yitam, from isql comand I have this error: [S1T00][unixODBC][Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired [08001][unixODBC][Microsoft][ODBC Driver 17 for SQL Server]MAX_PROVS: Error Locating Server/Instance Specified [xFFFFFFFF]. [08001][unixODBC][Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [ISQL]ERROR: Could not SQLDriverConnect I have enable log trace, attached is the result from php website and from isql comand. odbctrace_isql.txt odbctrace.txt I can ping sql server ip address with no problems, but it is a named instance (192.168.1.2ABC2012). I do not have any problem on ubuntu 16.04, I dont thing this is the problem. Thanks for the help. |
commented Feb 6, 2019
@crisleiria for a named instance you will need to set it up, as explained in one of the questions in FAQ This is the documentation for your reference. Hope this helps. |
commented Feb 6, 2019
Hi @yitam, Thanks for the info, it is strange for me to setup named odbc on ubuntu 18.04. I have nothing configured on 16.04 and I am able to connect.. the only diference is the driver version.. Anyway I have setup DNS as instructions and still same error.. Honestly I do not know what do to anymore.. This is a Vagrant virtual box machine. maybe something on host machine? |
commented Feb 6, 2019
@crisleiria please double check your settings. Some users are using named instance in Linux too, and #190 might be helpful. |
commented Feb 6, 2019
I figured out.. nothing related with ubuntu environment.. I review SQL server settings, TCP dynamic ports where enable, I have placed correct dinamic port assign and connected successfully. I will disable dynamic ports on SQL Server (I only have one instance running). I dont need to setup DNS on ubuntu, if set tcp port on connection string. Other conclusion on this: Ubuntu 18.04 is a virtual machine with a network bridge connection to the host. Ubuntu 16.04 is a real server on the same network of SQL Server. From Ubuntu 18.04 I am only able to connect from dynamic port assign. From Ubuntu 16.04 I am able to connect without setting up port number. @yitam Thank you so much for your support |
closed this Feb 6, 2019
commented May 14, 2019 • edited
edited
Hi @crisleiria, Could you please share how did you placed a port assign? I have exact same issue like this, I'm using ubuntu 18.04. I tried setting up the ports on firewall still not working. |
commented May 14, 2019
Hi rosnaib11, It was notting related with ubuntu environment, it was SQL Server setting. On my case, TCP dynamic ports was enabled on SQL Server settings. You need to set this port to your SQL connection string. On my case I am using Laravel, I needed to setup port 49300 to my connection and thats it. If not, it will try to use default port setting (1433) Hope this helps.. ` 'sqlsrvconnection' => [ ],` |
commented May 15, 2019
@crisleiria Thanks really helpful, I'm able to connect now. |
Odbc Sql Server Driver Error 17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment
Viewed 101 times
Morning,
Some background:
- Recently upgraded database and web servers from Server 2008R2 => 2016 OS
- Recently upgraded database instances from SQL Server 2008R2 => 2016
- Recently upgraded the ODBC driver to ODBC Driver 17 for SQL Server
- Using DSN's. Unsure about other config's (don't have full access to server settings atm)
The problem:One example: Vbscript is calling a stored procedure with a simple delete from a Clasp page written in vbscript. The delete happens, but it catches this error:
- Desc: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]ExecutingSQL directly; no cursor
- Source: Microsoft OLE DB Provider for ODBC Drivers
- SQL State: 01000
- Native Error: 16954
I've been unable to find much information about what this means 'Executing SQL directly; no cursor'
Anyone drop me a breadcrumb?
Thanks, D
delizatdelizat