首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图通过链接服务器(mssql -> mysql)更新时出错-选择工作

问试图通过链接服务器(mssql -> mysql)更新时出错-选择工作
EN

Stack Overflow用户
提问于 2012-10-03 20:44:03
回答 1查看 2.2K关注 0票数 0

当试图通过链接服务器进行更新时,我遇到了问题。错误如下:

代码语言:javascript
复制
OLE DB provider "MSDASQL" for linked server "**LINKED_SERVER_NAME" returned message "Data provider or other service returned an E_FAIL status.".
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider "MSDASQL" for linked server "LINKED_SERVER_NAME".

我没有问题,选择数据,但任何时候,我试图做一个更新,它失败。我的更新代码:

代码语言:javascript
复制
Update [LINKED_SERVER_NAME]...[Table_Name]
SET post_content = 'alert'
where ID = 5061

这是我的select语句,它可以工作:

代码语言:javascript
复制
select top 100 * from [LINKED_SERVER_NAME]...[Table_Name] where ID = 5061

我正在使用:

  • 2008
  • 试图通过ODBCConnector5.2从MS SQL -> MySQL连接(5.1有相同的问题)

我尝试使用"OPENQUERY“-> --这也不起作用

EN

回答 1

Stack Overflow用户

发布于 2012-10-11 22:56:26

开篇并不新鲜,但在处理非microsoft链接的服务器时,它要可靠得多。

代码语言:javascript
复制
UPDATE OPENQUERY (LINKED_SERVER_NAME, 'SELECT post_content FROM Table_Name WHERE ID = 5061') 
SET post_content = 'alert'; 
  • 不要在mysql查询中使用方括号;您可以使用撇号。
  • 检查表上是否有更新权限。
  • 尝试在mysql连接上直接运行更新。这可能是一个与链接服务器无关的错误。
  • mysql表是视图吗?它可能不能正确地配置为可更新的视图。MySQL创建视图语法

如果这仍然不能解决这个问题,那么将实际的openquery代码粘贴到问题中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12716595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档