微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用python pymssql将二进制文件插入MSSQL dbvarbinary

如何解决使用python pymssql将二进制文件插入MSSQL dbvarbinary

也许您必须显式转换 。这就是您的错误消息所隐含的含义。

请参阅:http : //social.msdn.microsoft.com/Forums/sqlserver/zh- CN/8f9d772a-4fa2-45b4-9fed-f03c73bd757a/implicit-conversion-from-data-type- varchar-to-varbinary-is-不允许使用转换功能?forum = transactsql

这似乎解决了同样的问题。

解决方法

我正在尝试使用pymssql从金字塔Web应用程序中使用 存储过程 将二进制数据插入MSSQL数据库。

相应列的MSSQL数据类型为varbinary(max)

我的问题是: 在插入二进制文件之前,MSSQL数据库的varbinary数据类型希望我如何处理它?

这是我一直在尝试的方法:

with open(tmp_file,'rb') as content_file:
    filecontent = content_file.read()

…,然后将的值传递filecontent给存储过程。

tmp_file在这种情况下,是.png文件的有效路径。

MSSQL db回答以下错误:

*** DatabaseError: (257,'Implicit conversion from data type varchar to varbinary(max) is not 
allowed. Use the CONVERT function to run this query.DB-Lib error message 257,severity 16:\nGeneral
SQL Server error: Check messages from the SQL Server\n')

我能够将filecontent变量的值插入到SQLite(varbinary列)和MySQL数据库(BLOB列)中,没问题。

为什么它不能与MSSQL数据库一起使用?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。