无法使用pyodbc:HY011 ODBC E将jpeg插入filemaker数据库

2024-04-20 11:53:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在filemaker14数据库中插入JPEG时遇到这个odbc错误。当我对MySQL运行相同的脚本来插入blob时,没有错误。插入文本字段不会产生错误。 我也没有线索,也找不到一个有意义的解释odbc错误HY011。。。在

谁能帮忙吗?提前谢谢!在

交互键入代码时的输出:

Python2.7.9(默认值,2014年12月13日,15:13:49) 达尔文上的[GCC 4.2.1兼容Apple LLVM 6.0(clang-600.0.56)] 键入“帮助”、“版权”、“信用证”或“许可证”以获取更多信息。在

>>> import pyodbc
>>> with open('Femke.jpg', 'rb') as f:
...  data = f.read()
... 
>>> conn = pyodbc.connect('DRIVER={/Library/ODBC/FileMaker ODBC.bundle/Contents/MacOS/fmodbc.so};SERVER=localhost;DATABASE=testContainer;UID=Admin')
>>> cur = conn.cursor()
>>> cur.execute("insert into testContainer (cont) values (PutAs(?, 'JPEG'))", pyodbc.Binary(data))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('HY011', '[HY011] [unixODBC][Driver Manager]Attribute cannot be set now (0) (SQLPutData)')
>>> 

Tags: 脚本数据库data键入错误mysqlconnjpeg
3条回答

这完全是瞎猜,但还是试试换吧

cur.execute("insert into testContainer (cont) values (PutAs(?, 'JPEG'))", pyodbc.Binary(data))

^{pr2}$

在filemaker jdbc/odbc指南中,它清楚地说明它能够通过jdbc处理clob类型(第33页)。对于ODBC,我在文档中找不到这一点,所以我想这是FileMaker ODBC接口的一个缺点。 我现在使用JDBC,它可以工作。在

这听起来可能有点多余,但我首先要仔细检查目标FileMaker字段是否实际定义为容器字段。如果没有,这很容易解释这个错误。您可能还需要检查this FileMaker help document,列出一些O/JDBC blob错误消息及其原因。在

如果这些都没有帮助,我将检查FileMaker数据库中的安全设置,以确保xDBC用户有权在目标表中创建和编辑记录,并且容器字段也设置为允许这样做。在

相关问题 更多 >