我需要通过控制程序把sql2000里的数据 写进远程mysql数据库中的指定表,请问有什么方法?

解决方案 »

  1.   

    sqlserver2005远程连接 mysql 
    2种方法
    一是通过建立link的方法
    sp_addlinkedserver     'ntest-link名',   'MySQL',  'MSDASQL--支持的链接方式',  'mytest-dsn名'
    GO
    sp_addlinkedsrvlogin   'ntest-link名','false', 'sa-sqlserver用户','mythzz-sqlserver密码'
    具体可以参考 帮助文档
    select  * from  ntest..pdns.tt
    但是我式了 提示拒绝用户需要密码
    Driver]Access denied for user
    等空了在搞下
    第二种方法是直接用
    OPENROWSET与OPENQUERY(具体可以查sql帮助文档)开启数据库选项SP_CONFIGURE 'show advanced options',1 GO RECONFIGURE GO -- 为开启为关闭 SP_CONFIGURE 'Ad Hoc Distributed Queries',1 GO RECONFIGURE GO SP_CONFIGURE 'show advanced options',0 GO RECONFIGURE  SELECT *
    FROM OPENROWSET('MSDASQL','mytest';'root';'mythzz',
       'SELECT * FROM pdns.tt') 
      

  2.   


    是要通过程序还是直接通过数据库操作?通过程序无非就是链接到SQL Server 2000的服务器读取出你想要的数据,再链接到MySQL数据库,然后将记录循环插入到MySQL数据库中。当然也可以按小F说的直接通过两个数据库服务器做链接,然后直接插入。
      

  3.   

    sql2000连接mysql很慢的。不推荐你这样做,我现在的做法是通过中间层做,表连接查询用dataset处理。
      

  4.   

    先把数据从sql数据库中取出了,放到dataset中,然后把dataset中的数据插入到mysql数据库中
      

  5.   


    -----SQL
    create table test_sql
    (
      id int,
      name varchar(20)
    )
    ----生成 导入 mysql的sql语句
    select 'insert into test_mysql(`id`,`name`) values('''+ltrim(id)+''','''+name+''') '
    from test_sql
    ------------导出到 txt文档 --MYSQL
    create table test_mysql
    (
      `id` int,
      `name` varchar(20)
    )
    --把txt文档 导入到远程服务器 并在mysql上面执行