无法在python中执行长sql语句?

时间:2019-06-27 13:06:05

标签: python python-2.7

我已经如下定义了我的sql语句(请注意换行符)

  def getTankSystemIds():
        sql='select tt.TankSystemId,ts.sitecode,tt.productid ' \
            'from  [dbo].[TankSystems] tt' \
            'left join [dbo].sites ts on tt.siteid=ts.siteid where ts.companyid=8' \
            'and ProductId in (10,4,2,3,11,4)'
        cursor = connectDB()
        cursor.execute(sql)
        records = cursor.fetchall()

调用此方法时,出现以下错误。我将单引号更改为“和”,“””,但都给出了相同的错误 我在这里做错了什么? 我也尝试在单个长行中提供sql语句。但是同样的错误

SyntaxError: Non-ASCII character '\xef' in file /Users/ratha/PycharmProjects/Processor/Utilities/DbConnector.py on line 86, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

1 个答案:

答案 0 :(得分:0)

是从其他位置复制/粘贴SQL查询还是将其保存为UTF-8编码?它具有字节顺序标记(BOM),即\xef字符。 ASCII不喜欢那样,因为它是Unicode。