Xwnola Ответов: 0

Read_SQL_table в dask возвращает nosuchtableerror


У меня есть read_sql с использованием панд, и он отлично работает. Однако, когда я попытался воссоздать тот же самый фрейм данных под Dask, используя ту же самую логику. Это дает мне NoSuchTableError. Я точно знаю, что эта таблица существует в моей базе данных SQL.

Кто-нибудь сталкивался с такой же/похожей проблемой? Любая мысль очень ценится! Заранее спасибо.

Что я уже пробовал:

панды #работает:
import urllib
import sqlalchemy as sa
import pandas as pd

sql = "SELECT * FROM my_table"
params = urllib.parse.quote_plus("DRIVER={SQL Server Native Client 11.0};\
                             SERVER=my_server;\
                             DATABASE=db_name;\
                             Trusted_Connection=yes;")
engine = sa.create_engine('mssql+pyodbc:///?odbc_connect=%s' % params)
df = pd.read_sql(sql, engine)
print(df.head())

Dask #NoSuchTableError:
import urllib
import sqlalchemy as sa
import dask.dataframe as dd
from sqlalchemy.engine.url import make_url

params = urllib.parse.quote_plus("DRIVER={SQL Server Native Client 11.0};\
                             SERVER=my_server;\
                             DATABASE=db_name;\
                             Trusted_Connection=yes;")
conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params)
url = make_url(conn_str)
df = dd.read_sql_table('my_table', url, index_col='ID')
print(df.head())

Richard Deeming

Либо вы не подключаетесь к базе данных вы думать вы подключаетесь или пользователь, к которому вы подключаетесь, не имеет разрешения на доступ к указанной таблице.

Xwnola

Спасибо за ответ. Интересно то, что у меня нет проблем с подключением к одной и той же таблице в одной и той же базе данных с помощью pandas, но просто не могу повторить то же самое с помощью Dask. URL-адреса, которые я использовал между этими двумя, одинаковы.

0 Ответов