查询在 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 管理工作室上运行它,但它返回的结果没有任何错误。

问题是我的查询中的日语字符。在执行查询之前,我尝试先在 utf-8 上对其进行编码,但它不起作用。

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

谢谢。

相关内容

  • 没有找到相关文章

最新更新