如何解决使用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 举报,一经查实,本站将立刻删除。