0
私はpypyodbcを使用してSQL2014サーバに接続していますが、以下のクエリを実行しています。しかし、それは私のエラーメッセージを言って:Pythonで複数行のSQL文を処理する方法
pypyodbc.ProgrammingError: (u'42S22', u"[42S22] [Microsoft][SQL Server Native Cl ient 11.0][SQL Server]Invalid column name '2017-02-07'.")
私は問題なくサーバー上で私のSQLクエリを実行することができます。 長いSQL文を含めて実行する正しい方法は何ですか?
Pythonのコード:MSSQLで
result = cursor.execute('''
declare @date date ="2017-02-07",
@env varchar (10)= "TEST",
@runid int,
@val smallint,
@timelen int,
@interface varchar(30),
@table_t varchar(30),
@del_t int,
@upd_t int,
@ins_t int
declare @import_test TABLE
(RUN_DATE date,
ENV varchar(10),
ID int,
[CHECK] varchar (100),
CODE varchar(30),
TABLE_NAME varchar(30),
VAL_1 int,
VAL_2 int,
VAL_3 int)
set @val=(select count(*) from MY_TABLE where convert(date,[timestamp])[email protected] and msg_cd="OK")
insert into @import_test values (@date,@env,null,"Check 1 (count of OK codes)",null,null,@val,null,null)
select * from @import_test
''')
for row in result:
print(row)
私は二重引用符に焦がす引用符を変更...しかし、それは私に** pypyodbc.ProgrammingErrorを言って別のエラーがスローされます(u'24000' 、U '[24000] [マイクロソフト] [SQL ServerネイティブCl ient 11.0]無効なカーソル状態 ')** –