python - 使用 python 从 Azure 机器学习服务连接 Azure SQL 数据库时出错

标签 python sql azure azure-sql-database azure-machine-learning-service

我尝试从 Azure 机器学习服务连接Azure SQL 数据库,但出现以下错误。

请检查错误:-

**('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found and no default driver specified (0) (SQLDriverConnect)')**

请检查我用于数据库连接的以下代码:-

import pyodbc

class DbConnect:
    # This class is used for azure database connection using pyodbc
    def __init__(self):
        try:
            self.sql_db = pyodbc.connect(SERVER=<servername>;PORT=1433;DATABASE=<databasename>;UID=<username>;PWD=<password>')

            get_name_query = "select name from contacts"
            names = self.sql_db.execute(get_name_query)
            for name in names:
                print(name)

        except Exception as e:
            print("Error in azure sql server database connection : ", e)
            sys.exit()

if __name__ == "__main__":
    class_obj = DbConnect()

有什么办法可以解决上述错误吗?如果有什么办法请告诉我。

最佳答案

我会考虑使用azureml.dataprep通过 pyodbc 来完成此任务(API 可能会更改,但这在我上次尝试时有效):

import azureml.dataprep as dprep

ds = dprep.MSSQLDataSource(server_name=<server-name,port>,
                           database_name=<database-name>,
                           user_name=<username>,
                           password=<password>)

然后您应该能够在 pandas 中收集 SQL 查询的结果,例如通过

dataflow = dprep.read_sql(ds, "SELECT top 100 * FROM [dbo].[MYTABLE]")
dataflow.to_pandas_dataframe()

关于python - 使用 python 从 Azure 机器学习服务连接 Azure SQL 数据库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58040933/

相关文章:

azure - 尝试在 azure devops CICD 中构建镜像时出现 docker 错误

python - 从列表中的元组替换字符串

python - 带有透明图像的可拖动 Tkinter 标签仍然覆盖父 Canvas 中的图像

Java SSL 套接字无法从客户端连接

php - XAMPP - 拒绝用户 '' @'localhost' 对于表 'users' 的 SELECT 命令

azure - 使用逻辑应用从所有子文件夹中获取特定文件,将它们加载到SQL-Azure

python - 图、边和上下文信息

php - 如何根据给定日期更改php中的单元格颜色

Sql(Server) NULL 或空字符串仍在此处

azure - 使用 Azure AD 登录用户