嗨我在Windows 10上使用python通过ODBC在filemaker中读取和更新字段时遇到了一些问题。
我可以绝对正常地连接到数据库,当我在没有SQL的情况下运行python文件时我没有错误但是由于某种原因我的查询不想执行。
import pyodbc
Id = '108989'
cstring = "DSN=DB;UID=admin;PWD=password;Trusted_Connection=yes"
con = pyodbc.connect(cstring)
cur = con.cursor()
rows = cur.execute("""UPDATE ACTIVE SET stage='Trans' WHERE __ID=?""",(Id))
del cur, con
print(rows)
我得到的错误是:
追踪(最近一次通话): 文件“C:/ Users / User / Desktop / _FM TEST / fmtest.py”,第17行,in rows = cur.execute(“”“UPDATE ACTIVE SET stage ='Trans'WHERE__ID =?”“”,(Id)) pyodbc.ProgrammingError:('42000','[42000] [FileMaker] [FileMaker] FQL0001 /(1:51):查询语法有错误。\ x00 \ x00ଈ\ x9d(\ x00 \x02ȀᙙȀᙙ㾾脀\ X00 \x00Ɗ谋\ X00 \ X00 \ X00(\ X00 \x02Ȁ\ X00 \ X00㾾脀\ X02 \ X00 \ X00 \ueda8Þ⪿瞚㍍瞚뒧ꤞȰ\ X00 \ X00 \uedf8Þ\ X00 \uee00Þ\ x8c \ x00샐\ uffff \ x8e \ x00ƣ둧ꤞ\ ue760 \ u0558 \ x00ˡ\ ue768 \ u0558Ɗ谋타ဓ槔ˡ(\ x00 \x02Ȁ(\ x00㾾脀\ x02 \x00Ɗ谋(8310)(SQLPrepare)')
我刚从另一个类似的数据库转移到这个数据库,工作正常。任何帮助都会非常感激。
谢谢
答案 0 :(得分:1)
确保在转义引号中包含以特殊字符开头的列名,如下所示:
\ “__ ID \”