Dav*_*cco 12 python sql-server azure azure-authentication
我尝试azureml.dataprep在Azure笔记本中使用连接到MS SQL数据库,如https://docs.microsoft.com/en-us/azure/machine-learning/service/how-to-load-data#load-sql中所述-data,使用MSSqlDataSource,使用表单的代码
import azureml.dataprep as dprep
secret = dprep.register_secret(value="[SECRET-PASSWORD]", id="[SECRET-ID]")
ds = dprep.MSSQLDataSource(server_name="[SERVER-NAME]",
database_name="[DATABASE-NAME], [PORT]",
user_name="[DATABASE-USERNAME]",
password=secret)
Run Code Online (Sandbox Code Playgroud)
设置[DATABASE-USERNAME]等于MYWINDOWSDOMAIN\\MYWINDOWSUSERNAME和密码[SECRET-PASSWORD]与我的Windows 密码一致(即尝试使用Windows身份验证).
用...触发查询后
dataflow = dprep.read_sql(ds, "SELECT top 100 * FROM [dbo].[MYTABLE]")
dataflow.head(5)
Run Code Online (Sandbox Code Playgroud)
我明白了
ExecutionError:登录失败.
我可以连接到没有Windows身份验证的其他数据库.我究竟做错了什么?
这是关于 的 MS 文档MSSQLDataSource。MSSQLDataSource实例有一个属性,credentials_type默认为SERVER. WINDOWS在执行查询之前尝试将其显式设置为。此外,端口应与服务器名称一起指定。
import azureml.dataprep as dprep
windows_domain = 'localhost'
windows_user = 'my_user'
windows_password = 'my_password'
secret = dprep.register_secret(value=windows_password, id="password")
ds = dprep.MSSQLDataSource(server_name="localhost",
database_name="myDb",
user_name=f'{windows_domain}\{windows_user}',
password=secret)
ds.credentials_type = dprep.DatabaseAuthType.WINDOWS
dataflow = dprep.read_sql(ds, "SELECT top 100 * FROM [dbo].[MYTABLE]")
dataflow.head(5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |