欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pymssql ntext字段調(diào)用問題解決方法

 更新時間:2008年12月17日 19:17:10   作者:  
pymssql是python用來連接mssql數(shù)據(jù)庫的一個類庫。該庫遵守Python DB API 2.0 標準,并且還附帶了一個原生的低階數(shù)據(jù)訪問模塊。

下面是調(diào)用方式:

Example script - pymssql module (DB API 2.0)

Example script - _mssql module (lower level DB access)

不過,在我使用過程中,發(fā)現(xiàn),如果表中包含了ntext字段,就會出錯,提示

不能用 DB-Library(如 ISQL)或 ODBC 3.7 或更早版本將 ntext 數(shù)據(jù)或僅使用

Unicode排序規(guī)則的 Unicode 數(shù)據(jù)發(fā)送到客戶端。

查了一下,發(fā)現(xiàn)官方網(wǎng)站有解釋:

Q: What means "Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library"?

A: If you connect to a SQL Server 2000 SP4 or SQL Server 2005, and if you make a SELECT query on a table that contains a column of type NTEXT, you may encounter the following error:
_mssql.error: SQL Server message 4004, severity 16, state 1, line 1:
Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

It's the SQL Server complaining that it doesn't support pure Unicode via TDS or older versions of ODBC. There's no fix for this error. Microsoft has deprecated DB-Library a long ago, in favor of ODBC, OLE DB, or SQL Native Client. Many new features of SQL 2005 aren't accessible via DB-Library so if you need them, you have to switch away from pymssql or other tools based on TDS and DB-Library.

A workaround is to change the column type to NVARCHAR (it doesn't exhibit this behaviour), or TEXT.

大概意思是,這是因為我們的pymssql使用早期的ODBC函數(shù)集來獲取數(shù)據(jù)。后來微軟才引入了ntext和nvarchar類型,但Microsoft并沒有更新他們的 C-library,所以就沒辦法支持了。建議:將ntext修改為nvarchar或text.

顯然,這不是個好的解決方法,那么是否就沒有其他辦法了呢?

還好,不用絕望,既然不支持ntext但支持text,那么我們只需要在輸出時將ntext轉(zhuǎn)換為text就好了,方法很簡單:

SELECT cast ( field_name AS TEXT ) AS field_name

唯一的問題,可能是ntext和text字段所支持的長度不一樣,所以也許你還需要設(shè)置一下TEXTSIZE

SET TEXTSIZE 65536

當然,你還可以將字段設(shè)置的大一點,這個就看你的需要了。

相關(guān)文章

  • Python format()格式化輸出方法

    Python format()格式化輸出方法

    這篇文章主要介紹了Python format()格式化輸出方法, Python 2.6以后,Python 中的就提供了字符串類型(str)提供了 format() 方法對字符串進行格式化,夏敏我們就來了解這個方法吧,需要的小伙伴也可以參考一下

    2021-12-12
  • python登錄WeChat 實現(xiàn)自動回復(fù)實例詳解

    python登錄WeChat 實現(xiàn)自動回復(fù)實例詳解

    在本篇內(nèi)容里小編給大家整理的是關(guān)于python登錄WeChat 實現(xiàn)自動回復(fù)的相關(guān)實例內(nèi)容以及知識點總結(jié),有興趣的朋友們參考下。
    2019-05-05
  • python多線程中獲取函數(shù)返回值的三種方法

    python多線程中獲取函數(shù)返回值的三種方法

    本文主要介紹了python多線程中獲取函數(shù)返回值的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python開發(fā)實例分享bt種子爬蟲程序和種子解析

    Python開發(fā)實例分享bt種子爬蟲程序和種子解析

    最近親眼看到快播被大批警察包圍,感覺到快播注定要關(guān)閉很多東西,很多宅男宅女們又要寂寞了,于是乎,瘋狂的研究DHT網(wǎng)絡(luò)技術(shù)
    2014-05-05
  • 基于Python制作一個解壓的內(nèi)存加速球

    基于Python制作一個解壓的內(nèi)存加速球

    安全管家助手什么的上總會帶一個內(nèi)存加速球,有關(guān)掉進程以及內(nèi)存清理的功能,本文就來利用Python制作一個解壓的內(nèi)存加速球,有需要的小伙伴可以參考下
    2023-10-10
  • Python實現(xiàn)一行代碼自動繪制藝術(shù)畫

    Python實現(xiàn)一行代碼自動繪制藝術(shù)畫

    DiscoArt?是一個很牛的開源模塊,它能根據(jù)你給定的關(guān)鍵詞自動繪畫。本文就將利用這一模塊實現(xiàn)一行代碼自動繪制藝術(shù)畫,需要的可以參考一下
    2022-12-12
  • Python中的?pass?占位語句

    Python中的?pass?占位語句

    這篇文章主要介紹了Python中的?pass?占位語句,Python?pass是空語句,是為了保持程序結(jié)構(gòu)的完整性,下文具體的相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04
  • Django用內(nèi)置方法實現(xiàn)簡單搜索功能的方法

    Django用內(nèi)置方法實現(xiàn)簡單搜索功能的方法

    這篇文章主要介紹了Django用內(nèi)置方法實現(xiàn)簡單搜索功能的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python字節(jié)單位轉(zhuǎn)換(將字節(jié)轉(zhuǎn)換為K M G T)

    Python字節(jié)單位轉(zhuǎn)換(將字節(jié)轉(zhuǎn)換為K M G T)

    這篇文章主要介紹了Python字節(jié)單位轉(zhuǎn)換(將字節(jié)轉(zhuǎn)換為K M G T),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python gensim使用word2vec詞向量處理中文語料的方法

    python gensim使用word2vec詞向量處理中文語料的方法

    這篇文章主要介紹了python gensim使用word2vec詞向量處理中文語料的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評論