查询在 pyodbc 中返回错误但在 SSMS 中没有

罗伯托

我最近一直在使用 python,并尝试使用以下代码连接来自我的 sql server 数据库的几个表中的数据:

query = textwrap.dedent('''SELECT
                     A.成形日, B.ライン, B.鋳込み回数, C.型番To AS 型番, A.組名 AS 組,
                     F.サービスタンク, F.泥温, F.比重, F.流れ, F.一分値, F.五分値, F.揺変性, F.加温巡回,
                     F.珪曹添加量,
                     C.品番, C.型使用回数, C.肉厚,C.内面硬度,C.外面硬度,C.脱型硬度,C.裏硬度,C.反転硬度,
                     B.鋳込み開始時刻,B.着肉時間,B.排泥時間,B.封入時間
                 FROM
                     IOT_T_SeikeiDailyReport AS A
                 INNER JOIN
                     IOT_T_SeikeiDailyReport_Line_Detail AS B
                 ON
                     (A.成形日 = B.成形日
                     AND    A.組名 = B.組名)
                 INNER JOIN 
                     IOT_T_SeikeiDailyReport_PartNo_Detail AS C
                 ON
                     (A.組名 = C.組名
                     AND    A.成形日 = C.成形日
                     AND    B.ライン = C.ライン
                     AND B.鋳込み回数 = C.鋳込み回数)
                 LEFT JOIN
                     IOT_T_SeikeiDailyReport_MoldingDefect AS D
                 ON
                     (A.組名 = D.kumi
                     AND    A.成形日 = D.molding_date
                     AND    B.ライン = D.line
                     AND    B.鋳込み回数 = D.ikomi
                     AND    C.型番To = D.kataban)
                 LEFT JOIN
                     IOT_M_KumiLineTank AS E
                 ON
                     (A.組名 = E.組
                     AND    B.ライン = E.ライン)
                 INNER JOIN
                     IOT_T_ServiceTank AS F
                 ON
                    ( A.成形日 = F.測定日
                 AND    E.タンク = F.サービスタンク)''')

    result = cursor.execute(query).fetchall()

它返回错误:

' ' 附近的无效语法

我认为我的代码有一些语法错误,所以我复制了我的“查询”变量结果并直接在 sql management studio 上运行它,但它返回的结果没有任何错误。

罗伯托

问题是我的查询中的日语字符。在执行查询之前,我尝试先在 utf-8 上对其进行编码,但没有奏效。

所以我创建了一个视图并将所有表列名从日语更改为普通字母表并且它起作用了。我还尝试使用 pymssql 而不是 pyodbc,即使我的表列是日语也没有出现这个问题。

谢谢你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章