在SQL2000中访问MySQL,其他测试成功,插入数据的时候遇到了问题。
MySQL的表中有一个字段是F1,F1的数据类型是TEXT,在SQL2000中插入数据时,不管对应给F1赋什么值,最后的结果都是NULL,请各位大虾救命,急!急!!代码如下:
INSERT INTO   OPENQUERY  (MySQLTest , 'select  
F0,
F1  from   api_mt_db'   ) 
VALUES( '123','uuu')另外,即使我从SQL2000一个表中取出一个类型是TEXT的子段,INSERT的结果也是NULL

解决方案 »

  1.   

    INSERT INTO  OPENQUERY  
    (MySQLTest , 'select  
    F0, 
    F1  from  api_mt_db'  ) 
    VALUES( '123',N'uuu') 加个N试试
      

  2.   

    更新TEXT类型数据,MSSQL中要用UPDATETEXT 或者 write子句的update.
      

  3.   

    使用 WRITETEXT 语句重写该列的整个数据值。 
    例如,以下查询将更改 New Moon Books 中 pr_info 列的内容:USE pubs
    sp_dboption 'pubs', 'select into/bulkcopy', 'true'
    DECLARE @ptrval varbinary(16)
    SELECT @ptrval = TEXTPTR(pr_info) 
    FROM pub_info pr INNER JOIN publishers p
        ON p.pub_id = pr.pub_id 
        AND p.pub_name = 'New Moon Books'
    WRITETEXT pub_info.pr_info @ptrval 'New Moon Books (NMB) '
    sp_dboption 'pubs', 'select into/bulkcopy', 'true'使用 UPDATETEXT 语句更新 ntext、text 或 image 列的特定数据块。 
      

  4.   

    在你的MYSQL的普通查询日志中看一下你的SQL SERVER传过去的语句是什么?
      

  5.   

    那你就用IFNULL 函数转化下。
      

  6.   

    如果是NULL怎么办?这个值不是写死的