最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

無法使用python插入數(shù)據(jù)庫

無法使用python插入數(shù)據(jù)庫

慕萊塢森 2023-12-12 15:24:26
我使用 python 3.8.5 時(shí)遇到錯(cuò)誤( cursor.execute("INSERT INTO dbo.sftpserverlist(FileName,FileSize) VALUES ("+files[0]+","+str(sizes[0])+")")pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]無法綁定多部分標(biāo)識(shí)符“DidosSupply.zip”。(4104) (SQLExecDirectW)')當(dāng)我嘗試調(diào)用以下函數(shù)并插入到 table 時(shí)dbo.sftpserverlist。def getfile(sftp):    FileNames=[]    FileName = sftp.listdir_attr()       for i in FileName:        FileNames.append(i.filename)    FileSizes=[]    FileSize = sftp.listdir_attr()    for i in FileSize:        FileSizes.append(i.st_size)    return FileNames,FileSizes-----------------------------------------------------------cursor.execute("INSERT INTO dbo.sftpserverlist(FileName,FileSize) VALUES ("+files[0]+","+str(sizes[0])+")")conn.commit()
查看完整描述

2 回答

?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

參數(shù)化您的查詢,不要注入值,這是一個(gè)巨大的安全缺陷。


cursor.execute("INSERT INTO dbo.sftpserverlist(FileName,FileSize) VALUES (?,?)",files[0],str(sizes[0]))

conn.commit()

cursor.close()

您收到錯(cuò)誤的原因是因?yàn)槟ú话踩兀┳⑷氲闹禌]有被引用;因此 的值files[0](在本例中具有值"DidosSupply.zip")被解釋為列的名稱;它不可能是這樣,因?yàn)槟阍谝粋€(gè)VALUES沒有 的子句中FROM。


當(dāng)然,僅僅在值周圍加上引號(hào)并不是解決方案,因?yàn)橐?hào)可以被轉(zhuǎn)義。


查看完整回答
反對(duì) 回復(fù) 2023-12-12
?
ibeautiful

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊

無論如何,我都不是Python專家,但我認(rèn)為這是老式的做法(INSERT INTO)。我最近偶然發(fā)現(xiàn)了一種超級(jí)簡單、可擴(kuò)展且可控的方法,可以將數(shù)據(jù)從 Python 推送到 SQL Server。嘗試示例代碼,如果您有其他問題,請(qǐng)回復(fù)。


import pyodbc

import pandas as pd


engine = "mssql+pyodbc://your_server_name/your_database_name?driver=SQL Server Native Client 11.0?trusted_connection=yes"


... dataframe here...


dataframe.to_sql(x, engine, if_exists='append', index=True)

數(shù)據(jù)框是非常不言自明的。


x = 您希望表在 SQL Server 中的名稱。


查看完整回答
反對(duì) 回復(fù) 2023-12-12
  • 2 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)