views:

994

answers:

5

I have an Interbase DB. How can I convert it to SQL Server?

A: 

If you want to spend some money, this will do it:

http://www.spectralcore.com/fullconvert/tutorials/convert-interbase-firebird-to-mssql-sql-server.php

Ben Hoffstein
A: 

Is there anything free?

Mariano
+3  A: 

You could use SQL Server built in Data Transformation Services (DTS) in SQL Server 2000 or SQL Server Integration Services (SSIS) in SQL Server 2005.

Try setting up an ODBC DSN for Interbase. Then in DTS / SSIS use the Other (ODBC Data Source) and the DSN.

If that does not work then see if Interbase has a utility to export to text files and then use DTS / SSIS to import the text files.

splattne
DTS has been replaced by SSIS (SQL Server Integration Services) as of SQL Server 2005.
ScottStonehouse
Thanks Scott, I've integrated your comment in my answer.
splattne
A: 

The Interbase DB Wikipedia page says that it supports OBDC and ADO.NET, so I would think that SQL Server can probably import this database on its own. I don't have access to an Interbase DB installation to try, but you might find these pages helpful.

MSDN on import data wizard
MSDN on bulk import command (if Interbase DB can dump a text file)
Article on bulk importing from an ADO.NET supporting source

Hopefully somebody will have direct experience with this database and can help. Good luck!

ryan_s
A: 

If you only need to covert tables and data, that's rather simple. Just use ODBC driver for InterBase, connect to it and pump the data.

But, if you need business logic as well, you cannot covert it just like that. You can convert regular tables and views without too much problems. Domain info would be lost but you don't need it in MSSQL anyway. The only problem with tables can be array fields, which you need to convert to separate tables, but that isn't too hard either.

The problem is conversion of triggers and stored procedures, since InterBase uses it's own, custom PSQL language. It has some concepts that are different from MSSQL. For example, you have procedures that can return resultsets, and you would need to convert those to MSSQL functions.

In any case, it shouldn't be to hard, since you're going from low to high complexity, but there are no tools to do it automatically.

Milan Babuškov