mar*_*nun 6 python pyodbc azure-machine-learning-studio azure-sql-database cortana-intelligence
我正在尝试使用Azure ML中的"执行python脚本"模块创建一个" 读取器 "替代方法来从Azure SQL数据库中读取数据.在这样做时,我正在尝试使用pyodbc库连接到Azure Sql.这是我的代码:
def azureml_main(dataframe1 = None, dataframe2 = None):
import pyodbc
import pandas as pd
conn = pyodbc.connect('DRIVER={SQL Server}; SERVER=server.database.windows.net; DATABASE=db_name; UID=user; PWD=Password')
SQLCommand = ('''select * from table1 ''')
data_frame = pd.read_sql(SQLCommand, conn)
return data_frame,
Run Code Online (Sandbox Code Playgroud)
还试图使用不同的驱动程序名称:{SQL Server Native Client 11.0}
这是我得到的错误:
Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)')
Run Code Online (Sandbox Code Playgroud)
有谁知道我应该使用哪个驱动程序?
只是为了确保,我尝试了"{SQL Server}","{SQL Server Native Client 11.0}"和"{SQL Server Native Client 10.0}"并得到了同样的错误
我也尝试了不同的格式:
conn = pyodbc.connect('DRIVER={SQL Server}; SERVER=server.database.windows.net; DATABASE=db_name; user=user@server; password=Password')
Run Code Online (Sandbox Code Playgroud)
和
conn = pyodbc.connect('DRIVER={SQL Server Native Client 11.0}; SERVER=server.database.windows.net; DATABASE=db_name; user=user@server; password=Password')
Run Code Online (Sandbox Code Playgroud)
我从 Azure 支持那里得到了答案:
\n\n\n目前无法从 \n\xe2\x80\x9cexecute python script\xe2\x80\x9d 模块中访问 SQL Azure 数据库。正如您怀疑的那样,这是由于\n执行环境中缺少 odbc 驱动程序造成的。建议\n解决方法是 a) 使用读取器模块或 b) 导出到 blob\n并使用 Azure Python SDK 访问这些 blob\n http://blogs.msdn.com/b/bigdatasupport/archive/2015/10/02 /using-azure-sdk-for-python.aspx
\n
因此,目前无法从\xe2\x80\x9c 连接到 SQL Server,在 Azure-ML 中执行 python script\xe2\x80\x9d 模块。如果您想更改,请在这里投票
\n