set  ansi_nulls  on 
set ansi_warnings on  
go select * into tempTbl from OPENDATASOURCE("DRIVER={MySQL ODBC 3.51 Driver}", 
"SERVER=192.168.1.6;DATABASE=mysql;USER ID=root;PASSWORD=123456;OPTION=3").mysql.?.testtable; go 
set  ansi_nulls  off  
set  ansi_warnings  off 注: 从SQL SERVER 到SQL SERVER已经实现  现在要实现从MySQL中到SQL SERVER上面“.mysql.dbo.testtable;”//这个是SQL SERVER里面指定数据库中testtable表的语句,在MySQL中如何指定到一张表??? 目前报错:未能找到 OLE DB 提供程序‘DRIVER={MySQL ODBC 3.51 Driver}’的注册表项

解决方案 »

  1.   

    -- mysqlmysql> create table tb(id int,data varchar(20),
                chs_data varchar(50) character set 'gbk') character set 'latin1';
    Query OK, 0 rows affected (0.09 sec)mysql> insert into tb values(1,'mysql','小梁爱兰儿');
    Query OK, 1 row affected (0.05 sec)mysql> insert into tb values(2,'mysql','小梁爱兰儿');
    Query OK, 1 row affected (0.00 sec)mysql> select *from tb;
    +------+-------+------------+
    | id   | data  | chs_data   |
    +------+-------+------------+
    |    1 | mysql | 小梁爱兰儿 |
    |    2 | mysql | 小梁爱兰儿 |
    +------+-------+------------+
    2 rows in set (0.00 sec)
    --sql serverCREATE TABLE tb(id int,data VARCHAR(20),chs_data NVARCHAR(20));
    INSERT tb VALUES(1,'sql server',N'小梁爱兰儿');
    INSERT tb VALUES(2,'sql server',N'小梁爱兰儿');
    GOEXEC sp_addlinkedserver 'MySQL','','MSDASQL','My_SQL';
    EXEC sp_addlinkedsrvlogin 'MySQL','false','sa','root','liangck';
    GOSELECT * 
      FROM OPENQUERY(MySQL,'SELECT * FROM mytest.tb') AS A
    JOIN tb AS B
      ON A.id=B.id;GO
    EXEC sp_dropserver 'MySQL','droplogins';
    DROP TABLE tb;
    /*
    id          data                 chs_data                                           id          data                 chs_data
    ----------- -------------------- -------------------------------------------------- ----------- -------------------- --------------------
    1           mysql                小梁爱兰儿                                              1           sql server           小梁爱兰儿
    2           mysql                小梁爱兰儿                                              2           sql server           小梁爱兰儿(2 行受影响)
    */
      

  2.   

    1、在SQLSERVER中建立链接服务器,查询MYSQL中的表;
    2、用JETSQL将MYSQL中的表导入SQLSERVER中。
      

  3.   

    需要安装一下MYSQL的ODBX驱动。然后可以创建ODBC,直接进行操作。
      

  4.   


    both mysql and sql server do not have JET-SQL. 
      

  5.   

    [Quote=引用 4 楼 ACMAIN_CHM 的回复:]
    引用2、用JETSQL将MYSQL中的表导入SQLSERVER中。 
      
     both mysql and sql server do not have JET-SQL.  
      
     
    [/Quote
    MS赋予ACCESS最大的功能就是可以用JETSQL在不同的数据库中导入、导出数据,这是一种转换数据的方法,而非MYSQL、SQLSERVER所使用的SQL。
      

  6.   

    [Quote = wwwwb ]MS赋予ACCESS最大的功能就是可以用JETSQL在不同的数据库中导入、导出数据,这是一种转换数据的方法,而非MYSQL、SQLSERVER所使用的SQL。[/Quote]既然在mysql或在sqlserver 中你是用不了jet-sql 了,那你提供的第二种方法也就并不合适了 
    虽然你可以建议用ACCESS来实现MYSQL倒数据到SQL SERVER