2015-10-20 296 views
2

一個我在工作列的是:SQL Server錯誤 - 操作數類型衝突:NTEXT是INT不兼容 - (我甚至沒有使用「NTEXT」)

Comments VARCHAR(8000) 

所以基本上我m試圖將最多600個字符的大文本插入此列Comments。當我運行我的腳本一切順利的前10行,然後突然我得到這個錯誤:

pypyodbc.DataError: ('22018', '[22018] [Microsoft][ODBC SQL Server Driver][SQL Server]Operand type clash: ntext is incompatible with int')

話又說回來,如果我重新運行查詢,一切都將開始爲下一個10行順利,正如你可能現在已經猜到我再次得到同樣的錯誤。

我能做些什麼來解決這個問題?

編輯

我一直在使用VARCHAR(MAX)NVARCHAR(MAX)VARCHAR(800)TEXT嘗試。我每次都得到相同的錯誤。

+0

看起來您正在使用非常古老且以Azure爲準的「{SQL Server}」ODBC驅動程序。也許嘗試使用'{SQL Server Native Client 11.0}'驅動程序,看看是否有幫助。 –

+0

試過 - 仍然得到相同的錯誤:( – 90abyss

+0

我有同樣的問題:似乎pypyodbc(pyodbc有相同的概率)將您的變量轉換成虛假.. 這個問題是SQL-Server ODBC Typenets和pyodbc之間的一些不兼容。 。有時候我想知道:SQL-DBs已經超過40歲了..有人應該修復這個東西:( –

回答

1

我想知道第10行的數據是否有問題? 要測試此操作,請嘗試刪除第5行上的數據,並查看錯誤是否從第9行開始。

+0

我試過這樣做 - 但無濟於事。我只能夠一次插入8到10行,然後彈出上面的錯誤當我再次重新運行查詢時,它會針對一組不同的8到10行,然後再次停止。該腳本完美地工作,但僅限於有限的時間 - 因此腳本100%正確bcoz數據正確地存儲在數據庫中。 – 90abyss

0

我建議您使用pmyssql而不是pypyodbc。似乎它是一個驅動程序級別的問題,切換到pymssql可能會有所幫助。請按照ACOM文檔,讓我知道如果有幫助。如果您仍遇到同樣的問題,請告訴我,因爲我可以進一步嘗試幫助您。

相關問題