insert into openquery(TEST,'select ima01,ima02,ima021  from ima_file ') values('123','123','123')
上一句运行正常
下一句运行不正常
insert into openquery(TEST,'select ima01,ima02,ima021 from ima_file') select ima01,ima02,ima021 from IMA_FILE
我的目的是想把本地MSSQL数据表ima_file传输到远程mysql数据表ima_file
请各位帮助!!!

解决方案 »

  1.   

     ima01,ima02,ima021 的数据类型是什么?
      

  2.   

    错误信息如下:
    链接服务器"TEST"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[MySQL][ODBC 3.51 Driver][mysqld-5.1.30-community]Incorrect string value: '\xBC\xAA\xC0\xFB\xC3\xC5...' for column 'IMA02' at row 1"。
    消息 7343,级别 16,状态 2,第 1 行
    链接服务器 "TEST" 的 OLE DB 访问接口 "MSDASQL" 无法 INSERT INTO 表 "[MSDASQL]"。
      

  3.   

    你其中有中文啊。到你的mysql 中看一下你这个表的show create table ima_file ;
      

  4.   

    CREATE TABLE `ima_file` (
      `IMA01` varchar(50) CHARACTER SET gb2312 DEFAULT NULL COMMENT '料号',
      `IMA02` varchar(255) CHARACTER SET gb2312 DEFAULT NULL COMMENT '品名',
      `IMA021` varchar(255) CHARACTER SET gb2312 DEFAULT NULL COMMENT '规格'
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin我看了一下,你看看是不是字符编码格式有问题
      

  5.   

    吉利门
    你在SQL SERVER中的是GB2312,不是UTF8!在你的ODBC中设置为 GB2312 或者把你MYSQL表改成CREATE TABLE `ima_file` (
    `IMA01` varchar(50) CHARACTER SET gb2312 DEFAULT NULL COMMENT '料号',
    `IMA02` varchar(255) CHARACTER SET gb2312 DEFAULT NULL COMMENT '品名',
    `IMA021` varchar(255) CHARACTER SET gb2312 DEFAULT NULL COMMENT '规格'
    ) ENGINE=InnoDB DEFAULT CHARSET=gb2312