在带有链接服务器的SSMS中将ENUM数据类型与MySQL ODBC连接器一起使用

问题描述

我使用连接器已有几年了,它在MS sql Server数据库和几个不同的MysqL数据库之间推送和拉取数据。我设置了一个链接服务器,然后使用OPENQUERY创建所需的视图,并针对这些视图编写选择,更新和插入。像梦一样工作。

但是,我正尝试与使用ENUM数据类型的供应商构建的新MysqL数据库集成,这给我带来麻烦。

当我尝试OPENQUERY时,出现一个奇怪的错误

OLE DB provider 'MSDAsql' for Linked Server 'MysqL_DATABASE' returned data that does not match expected data length for column '[MSDAsql].Enumdatafield'. The (maximum) expected data length is 10,while the returned data length is 8.

我可以通过将查询中的ENUM字段转换为CHAR来解决此问题,并且可以正常工作。

但是现在我需要插入或更新该ENUM字段,而且我不知道该怎么做。如果在视图上转换数据类型,则无法使用该视图插入或更新。

我是否可以通过连接器使用ENUM字段?特别是让我对ENUM值进行INSERT或UPDATE的一种方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...