项目搞完要正式上线才告诉我要用SQL Server,请问各位大侠,有什么办法把FireBird的数据导入SQL Server中?

解决方案 »

  1.   

    看看sqlserver本身是否支持导入,不行就逐条导入吧
      

  2.   

    FireBird是否用到其它的数据库控件来显示数据的?如果用就好导入到SQL Server中。
      

  3.   


    odbc?
    如果firebird够用,不用转到mssql最好啊,后者还不免费
      

  4.   

    如果你用delphi6 ,且不是考虑写程序,它的datapump.exe应该可以用
    (注意字段类型,特别是datatime的格式)
    不过我非常赞同#4楼的观点
      

  5.   

    公司有正版SQl server 说怕免费的不安全,
    我用导入数据的方法,进行到选择建立新表导入记录的时候,那个选项是虚的,只能选下面那个输入SQl语言执行操作,怎么回事呢
      

  6.   

    创建一个bat 文件:input.bat 内容如下, f:/fb/bin/isql.exe  -user sysdba -password masterkey '127.0.0.1:e:/pim_ym' -q -input 'd:/work/ym/sdcs1/400006429.sql';
    @echo 400006429 >>sdcs1_ok.txt
    f:/fb/bin/isql.exe  -user sysdba -password masterkey '127.0.0.1:e:/pim_ym' -q -input 'd:/work/ym/sdcs1/400006432.sql';
    @echo 400006432 >>sdcs1_ok.txt
    f:/fb/bin/isql.exe  -user sysdba -password masterkey '127.0.0.1:e:/pim_ym' -q -input 'd:/work/ym/sdcs1/400006434.sql';
    @echo 400006434 >>sdcs1_ok.txt 其中f:/fb/bin/isql.exe为Firebrid 的安装路径下的一个类似Oracle的命令行工具,'127.0.0.1:e:/pim_ym' 为数据库,-user sysdba - password masterkey 为登陆的数据库、用户名及密码,'d:/work/ym/sdcs1/400006429.sql'为要导入的数据sql脚本,内容如下:  INSERT INTO TC_CENTERCMRESULT (F_CENTERID, F_METERNO, F_TIME, F_READING) VALUES (6,400006429,'2008-11-20 1:00:00',115.96);
    INSERT INTO TC_CENTERCMRESULT (F_CENTERID, F_METERNO, F_TIME, F_READING) VALUES (6,400006429,'2008-11-20 2:00:00',115.99);
    INSERT INTO TC_CENTERCMRESULT (F_CENTERID, F_METERNO, F_TIME, F_READING) VALUES (6,400006429,'2008-11-20 3:00:00',116);
    INSERT INTO TC_CENTERCMRESULT (F_CENTERID, F_METERNO, F_TIME, F_READING) VALUES (6,400006429,'2008-11-20 4:00:00',116.03);
    INSERT INTO TC_CENTERCMRESULT (F_CENTERID, F_METERNO, F_TIME, F_READING) VALUES (6,400006429,'2008-11-20 5:00:00',116.04);
    INSERT INTO TC_CENTERCMRESULT (F_CENTERID, F_METERNO, F_TIME, F_READING) VALUES (6,400006429,'2008-11-20 6:00:00',116.07);
    commit work; 这样,导入时就可以直接运行bat文件,不用在IBExpert里执行,如果要输出报表的话,可直接用参数-output,即可把数据保存为txt文件,