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-адреса, которые я использовал между этими двумя, одинаковы.