gpt4 book ai didi

MySQL 链接服务器无法更新 longtext

转载 作者:可可西里 更新时间:2023-11-01 06:33:59 27 4
gpt4 key购买 nike

我有一个从 SQL Server 到我的 mySQL 数据库的链接服务器(使用 MySQL ODBC Driver 5.3 的 Windows Server)。我有一个独特的情况,如果我在 OPEN QUERY 中转换它们,我只能让我的 longtext 列返回:

SELECT * 
FROM
OPENQUERY (woocommerce, 'SELECT meta_id, CONVERT(meta_value using UTF8) as meta_value
FROM woocommerce.wp_postmeta WHERE meta_id = 9465078')

如果我不转换/转换它,我会从链接服务器收到以下错误:

Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "MSDASQL" for linked server "woocommerce" reported an error. The provider reported an unexpected catastrophic failure.

我需要更新这个长文本列“meta_value”,但我不能,因为它已被转换/转换。

    UPDATE 
OPENQUERY (woocommerce, 'SELECT meta_id, CONVERT(meta_value using utf8)
FROM woocommerce.wp_postmeta WHERE meta_id = 9465078')
SET meta_value = 'outofstock';

有什么方法可以使用 OPENQUERY 和链接服务器来更新转换/转换的列吗?我尝试过以各种方式转换或转换它。

最佳答案

驱动程序似乎对 LONGTEXT 列有问题。

您可以使用以下选项限制 LONGTEXT 列的大小:

Limit column size to signed 32-bit range

(注意不要丢失你的数据,但这种情况很少见,我认为任何字符串都不会超过 10 亿个字符 XD)

The last comment here would help you how to do that

现在您可以删除强制转换并可以正常进行更新。

关于MySQL 链接服务器无法更新 longtext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51686945/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com