我有一个 Python 程序,它使用 ODBC 连接连接到 MSSQL 数据库。我使用的 Python 库是 pypyodbc。
这是我的设置:
- 视窗 8.1 x64
- SQL Server 2014 x64
- 蟒蛇 2.7.9150
- PyPyODBC 1.3.3
- ODBC 驱动程序:SQL Server Native Client 11.0
我遇到的问题是,当我查询带有 varchar(max) 列的表时,内容被截断。
我是 pypyodbc 的新手,我一直在疯狂地寻找,找不到任何关于如何防止这种情况在 pypyodbc 甚至 pyodbc 中发生的信息。至少不是我一直在使用的搜索词,而且我不知道要尝试哪些其他短语。
我什至尝试添加SET TEXTSIZE 2147483647;
到我的 SQL 查询中,但数据仍然被截断。
我该如何防止这种情况发生?或者你能指出我正确的方向吗?
更新:
因此,我尝试在我的 SQL 查询中执行强制转换。当我这样做CAST(my_column as VARCHAR(MAX))
时,它会在同一位置截断。但是,如果我这样做CAST(my_column as VARCHAR(8000))
,它会给我一个更大的文本集,但它仍然会截断一些内容。如果我尝试做任何比8000
我更大的事情,我会收到一个错误,说这8000
是我可以使用的最大的。有人知道这里可能会发生什么吗?MAX
使用不起作用似乎很奇怪。