- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 pymssql(版本 2.0.0b1-dev-20111019 和 Python 2.7.1)从 Windows 机器连接到 SQL Server 实例。我已经从控制台尝试了最基本的方法:
import pymssql
c = pymssql.connect(host = r'servername\instance',
user = 'username',
password = 'userpassword')
作为对此的回应,我得到了非常有用的错误:InterfaceError: Connection to the database failed for an unknown reason.
我有理由相信连接信息是正确的,因为它在我使用 adodbapi 时有效,使用以下命令:
import adodbapi
c = adodbapi.connect(r'Provider=sqloledb;Data Source=servername\instance;User ID=username;password=userpassword;'
c.close
我试过将端口号添加到主机参数中,结果相同。有人对如何解决这个问题有建议吗?
顺便说一下,我已经阅读了“Unable to connect to SQL Server via pymssql”中的回复。 OP 最终通过正确配置 FreeTDS 解决了他的问题,据我所知,Windows 上的 pymssql 没有使用 FreeTDS。
根据@cha0site 的建议,我尝试只使用主机名,而不是主机名和实例。这导致了同样的错误,但似乎需要更长的时间来生成错误(尽管回溯仍然指示同一行)。我一直在指定实例的原因是,除非我指定了实例,否则我无法使用 SSMS 进行连接,因此我假设其他连接也需要它。
我现在也尝试了 pymssql.connect(host='servername', user='username', password='userpassword', database='instance')
结果相同(基于关于@Sid 的评论)。基于pymssql documentation ,我相信 database
参数用于指定用户要连接到的初始数据库,而不是实例。
澄清一下,“实例”是在安装 SQL Server 期间提供的名称,而不是该安装中的数据库。我突然想到 pymssql 可能不支持这种表示法,因此我将考虑重新配置 SQL Server 实例,这样它就不再需要了。
我现在已经将 SQL Server 重新安装为默认实例,而不是命名实例,这样我就可以在不指定实例名称的情况下进行连接。 adodbapi
仍然有效(没有 /instance
),但是 pymssql
仍然返回相同的错误。我还从新下载的存档(仍然是同一版本)中删除并重新安装了 pymssql
。
最佳答案
检查你的 freetds.conf 文件,看看你是否设置了端口 1219,然后再次检查连接:
DB = pymssql.connect(host='DB',user='youruser',password='yourpwd',database='yourDBname')
编辑:我的 freetds.conf 文件 Python 示例:
host = 'IP'
port = 1219
关于python - 使用 pymssql 连接到 SQL Server 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165031/
我想在 pymssql 中接收行作为字典。在 python-idle 我跑了: >>> conn = pymssql.connect(host='192.168.1.3', user='majid',
我已经编写了一个围绕 pymssql 的包装器来连接到我工作的数据库。我遇到了 unicode 解码/编码错误,我正在尝试从源头上阻止它们。 当我指定 charset='latin1' 或 'iso-
我在 django 项目中使用 pymssql 连接到数据库。我正在尝试使用execute()方法进行插入。 但是我收到此错误: Cannot insert the value NULL into c
我正在尝试从远程服务器上的 python 3.4 连接到 SQL Server 命名实例,但出现错误。 File "C:\Scripts\Backups Integrity Report\Backup
我在 Linux 上运行 pymssql 包(版本 1.0.2)时遇到问题。看起来我可以成功连接并向服务器发出 SQL 语句,但查询返回空白结果。我已经确认 CREATE TABLE 和 INSERT
我已下载 Pymssql 以连接到 sqlserver 数据库,但连接字符串抛出错误-pymssql.connect(pymssql.c.:7990) import pymssql pymssql.c
我正在尝试使用 Python 的 pymssql 连接到 Azure SQL 服务器。问题是以下脚本可以工作,但只是有时有效,其他时候我会收到此错误: _mssql.MSSQLDatabaseExce
我正在尝试在 SQL 服务器上执行存储过程并使用 python 保存结果——我决定使用 pymssql,因为它似乎是最简单的解决方案。 print pymssql.__version__ server
我可以在 pymssql 中使用哪些占位符。我从 html 查询字符串中获取我的值,因此它们都是字符串类型。这对于 sql 注入(inject)安全吗? query = dictify_queryst
我正在尝试使用来自 here 的二进制文件安装 FreeTDS , 在 Windows 上,但我不知道如何安装二进制文件;谷歌搜索没有找到任何相关内容。我正在安装,以便可以导入和使用 Python 模
我以前使用的是 MySQL,并且有一个使用 REGEXP 的查询。我正在尝试查找以某些字符开头的 site_id,并使用了以下内容: WHERE site_id REGEXP '^(AB|BC|AO|
我必须将 MSSQL Server 数据库与 Django 中的项目一起使用,我使用 django-pymssql 依赖,一开始一切正常。 当我运行初始迁移时,它会抛出一个错误: django.db.
我需要将 numpy 数组存储在 MS SQL 数据库的 varbinary(max) 字段中。在 MySQL 中这是一个简单的任务,但 MS SQL 则更加危险。为了能够存储一些东西,我需要像这样使
我们的一些数据挖掘工作陷入僵局并失去联系。挑战是我们想在 Python pymssql 模块因死锁而失败时捕捉到。 File "pymssql.pyx", line 465, in pymssql.C
我有 freetds.conf 和 dbserver 连接到数据库服务器 (我通常将其用于 PHP),该服务器位于我们自己网络上的单独服务器上。 只是为了测试连接,我有这个小程序: from sqla
当我们的 MS SQL 服务器变得不可访问时,我们遇到了这个问题。这在我们的代码中造成了一个错误,使我们的程序戛然而止,当然还有用户的干草叉和手电筒来到我们家门口。我们已经能够将我们的问题归结为:如果
我是 python 的新手,我正在尝试编写一个将值放入 SQL 数据库的脚本。 它是一个简单的 2 列表,如下所示: CREATE TABLE [dbo].[pythonInsertTest](
我正在尝试通过 pymssql 从与链接服务器通信的 python 脚本执行存储过程。 SP 在手动运行时工作,但从 python 脚本运行时出错: (7391, 'The operation cou
根据 Python DB API,cursor.description 中的一个字段返回一个 type_code;然而,这些总是数字。如何从 type_code(例如 1)转换为数据类型(例如 TEX
我正在使用 pymsqsql 库从 Python 程序调用极其简单的查询。 with self.conn.cursor() as cursor: cursor.execute('selec
我是一名优秀的程序员,十分优秀!