pyodbc에 SQL 주입을 피하기 위해 매개 변수화 된 쿼리를 사용하려고합니다. 아래 링크에 지정된 문서를 기반으로 :pyodbc에 대한 매개 변수화 된 쿼리 작성
cursor.execute("""Create table result (? bigint PRIMARY KEY , ? varchar(9), ? varchar(9))""",x[0],x[1],x[2])
ProgrammingError: ('42000', "[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]Incorrect syntax near '@P1'. (102) (SQLExecDirectW)")
: 아래
In [57]: df
Out[57]:
TXN_KEY SEND_AGENT PAY_AGENT
0 13273870 ANO080012 API352676
1 13274676 AUK359401 AED002782
2 13274871 ACL000105 ACB020203
3 13275398 AED420319 ASE094882
4 13278566 ARA030210 AII071196
5 13278955 AYM003098 AHX012817
6 13280334 AJ5020114 AED000438
7 13280512 A11171047 AEL051943
8 13281278 AOG010045 ADJ031448
9 13282118 AMX334165 APM033226
10 13283955 APL170095 AE4082002
x=df.columns.tolist()
x
Out[59]: [u'TXN_KEY', u'SEND_AGENT', u'PAY_AGENT']
는 SQL Server 데이터베이스에서 테이블을 만들 수있는 내 커서 명령입니다 : 아래
https://code.google.com/archive/p/pyodbc/wikis/GettingStarted.wiki#Parameters
dataframe입니다 그러나
x[0]
Out[63]: u'TXN_KEY'...
등등. 마찬가지로 alter table add column에 대해서도 매개 변수화 된 쿼리를 사용하여 커서를 작성해야합니다. 삽입, 업데이트 및 선택하는 방법을 알고 있습니다. 나는 이것이 비슷한 선상에 있다고 생각했지만 분명히 그렇지 않다.