我正在尝试使用存储过程从使用 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 数据库一起使用?