我正在为一个网站设置一个新的 MySQL 数据库,我正在尝试弄清楚如何传输长字符串。
我有相当多的 MSSQL 表,其中的 Varchars 范围从 500 到 2000。
显然,在 MySQL 中,这些必须存储在文本字段中,这是一个 BLOB。
如果我在 MySQL 上查询带有文本字段的表,它似乎可以很好地返回数据。但是,如果我尝试在带有文本字段的表中执行插入操作,它会返回一个错误,提示[OLE/DB provider returned message: Query-based insertion or updating of BLOB values is not supported.]
有什么办法可以让它工作吗,或者我必须通过平面文件传输来完成?
答案1
因此,经过一番查看后,我注意到 ODBC 连接器有两个版本,分别是 3.51.28 和 5.1.8(http://dev.mysql.com/downloads/connector/odbc/)。
不知道他们为什么要维护两个版本,但不管了。安装它,在 DNS 中重置它,然后能够插入 1000 多个字符串。
现在希望这个新版本没有任何其他错误。
顺便提一下,对于后代来说,当我在 DNS 中设置它时,我没有选中“详细信息”选项中的任何框。我不知道是否有任何需要检查的,但我想当某些东西不起作用时我会弄清楚的。
答案2
几天前,我的 MySQL 链接服务器中出现了这个问题。ODBC 驱动程序版本 5.1。
MySQL 连接是使用系统 DSN 而不是链接服务器属性中的连接字符串进行的。解决方案:在 DSN 连接选项中切换到“游标/结果”选项卡,然后取消选中“强制使用仅向前游标”框。
基于此的解决方案:http://support.microsoft.com/default.aspx?scid=kb;en-us;175245