有什么办法把FireBird的数据导入SQL Server中?

时间:2021-07-31 00:47:17
项目搞完要正式上线才告诉我要用SQL Server,

请问各位大侠,有什么办法把FireBird的数据导入SQL Server中?

8 个解决方案

#1


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

#2


没看到有FireBird的

#3


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

#4


引用 2 楼 luquansen 的回复:
没看到有FireBird的


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

#5


能说清楚一点吗??没听懂

引用 3 楼 78hgdong 的回复:
FireBird是否用到其它的数据库控件来显示数据的?如果用就好导入到SQL Server中。

#6


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

#7


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

#8


创建一个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文件,

 

#1


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

#2


没看到有FireBird的

#3


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

#4


引用 2 楼 luquansen 的回复:
没看到有FireBird的


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

#5


能说清楚一点吗??没听懂

引用 3 楼 78hgdong 的回复:
FireBird是否用到其它的数据库控件来显示数据的?如果用就好导入到SQL Server中。

#6


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

#7


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

#8


创建一个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文件,