首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Azure从Azure with作业使用pyodbc登录到用户db

Azure从Azure with作业使用pyodbc登录到用户db
EN

Stack Overflow用户
提问于 2018-11-30 11:54:25
回答 1查看 133关注 0票数 0

我正在尝试使用pyodbc登录Azure sql server,它会将我登录到主数据库,而不是像我在连接字符串中提供的'xyzdb‘这样的userdb。这个问题的解决方案似乎变成了一种基于DSN较少的登录,需要在windows机器上配置dsn。但我需要从Azure webjob作业运行pyodbc连接的python脚本,因此配置dsn是不可能的。因此不能按预期使用用户数据库。有什么解决方案吗?在登录到master db之后,我想用"USE xyzdb;“改成用户db;而azure Sql server回应的sql命令是'USE be with be USE to switch user‘,因此xyzdb登录不能。我被卡住了:)。

EN

回答 1

Stack Overflow用户

发布于 2018-12-01 13:42:32

我用xyzdb数据库制作了azure sql服务器。然后我尝试了新创建的服务器的连接字符串: pyodbc.connect('Driver={ ODBC Driver 13 for SQL Server};Server=tcp:abc.database.windows.net,1433;Database=xyzdb;Uid=ur_username;Pwd=ur_password;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;')

此连接字符串将我登录到masterdb,而不是xyzdb。而且,由于Sql server在物理上是在数据中心的堆栈中维护的,所以互连并不总是可行的,除非使用像池弹性这样的东西。因此,来自master DB的'USE xyzdb;‘Sql语句提供了'USE不能用于在数据库之间切换’。

3天来,我尝试了其他方法,但都不起作用,所以我发布了我尝试连接字符串的question.Then:

Pyodbc.connect(‘Driver={用于SQL Server};Server=tcp:abc.database.windows.net,1433;Uid=ur_username;Pwd=ur_password;Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;Database=xyzdb的ODBC驱动程序13’)

移动字符串末尾的数据库字段,认为它将首先与服务器建立连接,然后它将我登录到数据库xyzdb,它将我登录到xyzdb database.It本身第一次工作。

现在,如果我尝试上面的两个字符串中的任何一个,它都能按预期工作。不知道issue?.Looks是什么,我也浪费了别人的时间:)。我们可以删除我假设的问题,因为我可以登录userdb。谢谢。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53550998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档