Read_sql empty result: error on Linux, empty DataFrame on Windows
#### Code Sample
import pandas as pd
import pyodbc

conn = pyodbc.connect(
        driver='FreeTDS',
        server='server.ip.address.net',
        database='initial_database',
        uid='username',
        pwd='password',
        port=1433,
        encrypt='yes',
        trustservercertificate='yes',
        app='test application'
    )

df = pd.read_sql("set nocount on; select id from table where 0 = 1", conn)

#### Problem description
This works fine without the "set nocount on" statement. It correctly returns an empty DataFrame. However, I have multiple statements that result in one set and I'd like to read that. This approach throws a TypeError. The fact that it works on Windows using ODBC Driver for SQL Server as opposed to FreeTDS and UnixODBC would suggest that it is a driver issue, but the statement already works with a simple empty result.

So, as a curiosity: what could cause this?
And as the question and issue: could Pandas take into account this situation, or is it beyond its functionality?

Full stack trace:

pd.read_sql('set nocount on; select id from table where 0 = 1', conn)

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pandas/io/sql.py", line 381, in read_sql
    chunksize=chunksize)
  File "/usr/local/lib/python3.6/site-packages/pandas/io/sql.py", line 1414, in read_query
    columns = [col_desc[0] for col_desc in cursor.description]
TypeError: 'NoneType' object is not iterable

#### Expected Output
I'd expect the output to be the same with a single command: an empty DataFrame.

#### Output of ``pd.show_versions()``

<details>
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.5.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 142 Stepping 9, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: Finnish_Finland.1252

pandas: 0.23.4
pytest: None
pip: 18.0
setuptools: 40.0.0
Cython: None
numpy: 1.14.5
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: None
sphinx: 1.7.6
patsy: None
dateutil: 2.7.3
pytz: 2018.4
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: 2.2.2
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: 0.9999999
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
</details>
