在本地mssql2005 用exec   sp_addlinkedserver     'srv_lnk1','','MSDASQL','Mysqltest'   链接远程mysql数据库(4.0.20)。'Mysqltest'是在本地配置的odbc数据源。
select * from  openquery(srv_lnk1,'select aa from temp1') aa字段类型为text。没有问题,但是
insert into openquery(srv_lnk1,'select aa from temp1') values('bb')就出错了,提示:
链接服务器 "srv_lnk1" 的 OLE DB 访问接口 "MSDASQL" 报错。提供程序内存不足。
服务器: 消息 7343,级别 16,状态 1,行 1
链接服务器 "srv_lnk1" 的 OLE DB 访问接口 "MSDASQL" 无法 INSERT INTO 表 "[MSDASQL]"。
链接服务器"srv_lnk"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[MySQL][ODBC 3.51 Driver][mysqld-4.0.20-standard]Memory allocation error"。
我把aa字段类型换成varchar(100)能插入数据。
请高手指点。怎么用?
另外我也用过mysql的oledb驱动,提示 尚未注册‘MySqlProv’访问接口;  

解决方案 »

  1.   

    mysql的text字段和mssql的text大小是不一样的,一般mysql的longtext可以存放mssql的text的数据,我也是初学mysql,碰到的问题。共同研究吧。
      

  2.   

    但是我只是将varcar 类型插入到mysql text类型字段,也不可以啊
      

  3.   

    Memory allocation error
      

  4.   

    我也遇到了同样的问题,insert的栏位中只要有text类型的,就会有这样的错误;郁闷啊,高手都到哪里去了啊?!!!!!!