python-3.x - Pypyodbc 无法连接到启动测试的服务器
问题描述
使用 db 交互编写一些测试。需要在没有 sudo 的情况下在远程桌面上运行测试,所以在 virtualenv 中工作。我可以像这样通过python解释器连接到数据库服务器:
> python
Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pypyodbc
>>> c = pypyodbc.connect('DRIVER={SQL Server};SERVER={server_name_here};DATABASE={db_name_here};Trusted_Connection=yes')
>>>
这工作正常,让我执行查询。
现在启动一个与相同连接字符串pytest -m progress
完全相同的测试db = pyodbc.connect(connection_string)
会引发错误
pypyodbc.DatabaseError: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.')
virtualenv 是否以不同的用户身份出现在 db 中?或者问题可能出在哪里?
解决方案
推荐阅读
- react-native - 修改 mapStateToProps 以实现通用访问
- apache-spark - Spark 按 Key 分组并对数据进行分区
- java - 从 JRE 7 或 8 升级到 JRE11 后,Java Swing JFrame 大小不同。如何使帧大小保持一致?
- asp.net-mvc - ASP.NET Core Razor Pages,有没有办法配置链接目录文件夹路径?
- perl - 从 tk perl 接口中的子例程传递变量
- r - 如何将日期放在 barplot() x 轴上?
- gitlab - GitLab-审稿人名单
- ruby-on-rails - puma 新的 fork-worker 选项,与 preload_app 的关系
- reactjs - 使用 React.useMemo 时不触发更新或无限循环
- json - 如何使用 XSLT 1.0 中的“替换”功能从我的 XML 中删除特殊字符以获得正确的 JSON 输出?