Pau*_*l D 8 mysql linked-server openquery
我有一个从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.
我需要更新这个longtext列,"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)
现在您可以删除演员表并可以正常进行更新。
| 归档时间: | 
 | 
| 查看次数: | 305 次 | 
| 最近记录: |