我使用python,sqlalchemy和pymssql連接到專有的MSSQL數據庫。數據庫不能編輯,我只需要從中讀取數據。現在我的程序在第一次運行數據庫查詢時吐出了這條消息。使用pymssql訪問小數位
path/to/sqlalchemy/dialects/mssql/pymssql.py:50: SAWarning: Dialect mssql+pymssql does *not* support Decimal objects natively, and SQLAlchemy must convert from floating point - rounding errors and other issues may occur. Please consider storing Decimal numbers as strings or integers on this platform for lossless storage.
return sqltypes.Numeric.result_processor(self, dialect, type_)
我明白這是SQLAlchemy的說話我和它意味着,當我從類型十進制的一個字段讀出的數據,它會被轉換爲浮點數並在該過程倒圓。
所以我對這個兩個問題...
首先,在Linux機器上是否有一種方式來獲得從MSSQL數據庫十進制數據沒有這個問題?
其次,爲什麼程序打印此消息而不是崩潰或引發異常?如果我能應付這個小小的錯誤,那麼我該如何阻止這個消息不停地向我吐口水呢?
謝謝@zzzeek,對於延遲抱歉。我現在有pyodbc的問題,並會發佈一個相關的問題,儘快。 –