zl程序教程

您现在的位置是:首页 >  后端

当前栏目

[Python]Python/PHP如何查询sql server中NTEXT类型数据

PythonserverPHPSQL数据 如何 查询 类型
2023-09-14 08:58:21 时间

n         Python / PHP

n         SQL Server 2000 SP4以上版本的Microsoft sql server

n         pymssql

n         NTEXT类型

本文讨论了在Python中,如果利用pymssql来连接Microsft Sql server 2000 SP4以上版本数据库查询NTEXT类型数据,如何成功返回数据。

在PHP中类似问题也可以这么解决。

 

pymssql - Simple MSSQL Python extension module,当前我们使用的版本是

pymssql-0.7.4.win32-py2.4.exe

 

您可以遵循后文描述的执行步骤,在此之前,我们先描述一个常见的错误现象。

[常见错误现象1]

关键词:      Unicode data in a Unicode-only collation or ntext data

cannot be sent to clients using DB-Library。

表象:          如果你的sql server 2000 sp4以上版本的数据库中有一个字段是NTEXT类型,那么当你使用pymssql来做查询的时候,您可能得到如下错误:

 


MS SQL message: ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. (severity 16)


_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.


解释:         

这是因为我们的pymssql使用早期的ODBC函数集来获取数据。而微软后来引入了ntext和nvarchar类型,而这是Microsoft C-library所不支持的。所以,连pymssql的说明档里也这么建议:


Its the SQL Server complaining that it doesnt support pure Unicode

via TDS or older versions of ODBC. Theres no fix for this error.

A workaround is to change the column type to NVARCHAR (it doesnt

exhibit this behaviour), or plain TEXT.


_mssql.connect(databaseHost, databaseUserName, databaseUserPwd)

ret = oConn.query(queryTEXTSIZE)

table = oConn.fetch_array()

3:

然后,声明你的原来的那个获取NTEXT字段的sql语句如下所示:


这个field_name所代表的字段本来类型是NTEXT,这里我们CAST它为TEXT,这就是一个技巧。

4:

接下来执行你的这个sql语句即可:

    ret = oConn.query(query)

table = oConn.fetch_array()

 

[参考资料]

python机器学习数据建模与分析——数据预测与预测建模 机器学习的预测建模在多个领域都具有重要的应用价值,包括个性化推荐、商品搜索、自动驾驶、人脸识别等。本篇文章将带领大家了解什么是预测建模
python代码如何将8个数据放在8个核心上面? 在 Python 中,可以使用 multiprocessing 库来实现将数据分配给多个核心的并行计算。下面是一个简单的示例,演示如何使用 multiprocessing.Pool 类将 8 个数据分配给 8 个核心进行并行计算。
python实战爬取招聘网站职位数据 大家都知道金三银四是每年的求职高峰期,是中国招聘市场中最热门的季节之一。这段时间内,许多公司会发布大量的招聘信息,吸引大批求职者前来应聘。同时,也有许多人选择这个时候跳槽,因为这个时候找到新工作的机会相对较大。
Python版本数据探查的一些方法和Demo 探查度量值是数据分析中至关重要的一步,它可以帮助我们了解数据类型、发现异常值、理解数据分布、提供数据参考等。这些信息对于我们进一步的数据处理和分析都至关重要。使用Python中的Pandas和PyTorch等工具,我们可以快速实现数据类型确定、描述性分析和探索性数据分析。
郑昀 ☑移动数据业务 times;6年 ☑语义聚合 times;4年 ☑O2O times;5年的一个老兵。