Creating database link in posgresSQL to connect to SQL Server 2008 - sql-server-2008

Are there any way to connect PostgreSQL to SQL Server? I found this link http://pgfoundry.org/projects/dblink-tds/ but are there other ways?

You might be able to do something using one of PostgreSQL's server languages, e.g. pl/pythonu. For any given query you could write a function in that language which fetches the results from the remote server, using the language's own DB access modules. So in pl/pythonu you would use a Python DB-API module for SQL Server access.
http://www.postgresql.org/docs/current/static/plpython.html
http://wiki.python.org/moin/SQL%20Server

You could try a foreign data wrapper.
There is one for accessing Microsoft SQL Server and an ODBC based one.
http://wiki.postgresql.org/wiki/Foreign_data_wrappers
I have not used them, so I have no idea how good they are.

I would best suggest to design ETL process in Pentaho or Talend and separate data integration and data storage layer. It's easier to manage then making db link.

Related

Connecting to other database types in the 2sxc module

Is there currently anything in the 2sxc module that allows you to connect to other database types? Specifically I would like to connect to a MySQL database. I know you can connect to other tables within the database.
This depends a bit on your question. Let's split
Can you use Razor-Views in 2sxc to visualize data from any kind of database?
Yes, just use c# code to get the data. Just create the sql-objects or whatever in .net and use that. For example, I wrote about using PetaPoco http://2sxc.org/en/docs/docs/feature/feature/2583
Can you use non-sql-data in your Visual Query Designer
Yes, but you'll have to work a bit. The easiest way is to map your my-sql tables in the DNN SQL server. This is a bit like a translation layer, which then let's use use them as if they were in the SQL Server.
A harder way is to create your own data source. Best to inherit the SqlDataSource (which provides a lot of security around parameter injection etc.) https://github.com/2sic/eav-server/blob/master/ToSic.Eav.DataSources/SqlDataSource.cs - and then modify it to use your mysql

how to get tables, views, etc.. in mysql database server from a firebird database server

There are two different database servers in different platforms; MySql and Firebird.
I need to get db tables from Firebird server (synchronously or not synchronously) to MySql server.
Timing is not that important.
How do I achieve to get, for example; simply a specific database table from Firebird server to Mysql server?
İt will be very helpful if any ideas come, thank you..
So essentially you would need to develop some sort of process that will extract then transform and load the data from FireBird into MySQL. The problem is that both firebird and MySQL does not have real ETL tools included in them by default. MSSQL has for example SSIS. Since you cant access FireBird directly from MySQL code you will need some external tool to do the job.
Thus you will either have to code this tool yourself or use a open source tool.
There are several ETL tools that are open source and for free that you might want to investigate such as Pentaho, CloverETL see this link for more information.
You told you already found a solution to import CSV into MySQL. So the missing piece is Firebird CSV export
Well, those three words entered into Google give you immediate top result as the free FBExport tool. See http://www.firebirdfaq.org/fbexport.php

Conversion from Microsoft SQL Server to MySQL

How do I convert a Microsoft SQL Server database backup file such that to import in MySQL database? Is there any way or free tool available for this?
Not sure about how complex a database you have, but if its just some tables and data, there is a free script here that will automagically convert Microsoft SQL Server tables and data over to MySQL.
If you need something more sophisticated, then MySQL has a migration toolkit which allows you to migrate from Microsoft SQL Server to MySQL. In addition here is a tutorial on how to use it. Note that this has now been discontinued, in favor of MySQL Workbench, which has data migration built in.
In addition, this converter will convert everything except stored procedures from MSSQL to MySQL, for a price of only $50 which isn't bad.
Also you may want to check out this whitepaper from MySql's website on how to plan a migration from SQL Server to MySQL, as well as some resources.
ms2my (Pre-Alpha, free)
http://sourceforge.net/projects/ms2my/
"A tool that helps with MSSQL to MySQL converting/replicating (both csv&dump) under *nix.Possible to use it with crontab for regular data fetching.Keeping mySQL-based data warehouse refreshed could also be one of the possibilities of using this script."
MSSQL to MySQL Converter (free trial download, for purchase $49)
http://www.convert-in.com/mss2sql.htm
I've looked for quite awhile, and if you don't want to try ms2my, the above is about the only other option. And it isn't free.
Best of luck finding a free one, hopefully there is one that is hidden away out there on the internet that I can't find.
If you are using a living MS SQL Server and a living MySQL server, then I think your best AND MORE ACCURACY option is to use an ETL/data transformation tool like Pentaho Data Integration (Kettle).
With Kettle you can visually design (using easy-to-learn data flow steps) almost any data transformation from single/multiple data source(s) to single/multiple data destination(s). One of the features you may be interested is the database/tables migration wizard.
If the community distribution of Kettle is not enough for you, then you can use the Enterprise Edition with more features, support, etc.
Take a look at Omega Sync it supports export import and synchronisation between different DBMS's including Schema and table data.

How I do to "migrate" the structure from aspnetdb.mdf to a mysql database

I'm creating a new Asp.Net MVC 3 application. Visual Studio does a lot of the job of create the database and initial layout. Very nice! I will upload that initial files to my server, but I want that it runs using the MySql database on the server.
There's some quick/easy way to do it? I'm not worried about the data, just the structure of the tables, and the connection/configuration changes.
Thank you very much!
You can export any MS-SQL database as a Script (Sql Server manager).
Fix it up to make it compatible.
But you will also need a Membership provider, look around if there exist any for MySql, otherwise you'll have to create one (movie).
There are a number of tools listed in "Migrating from Microsoft SQL Server and Access to MySQL".
Or (assuming that you're using column types that exist on both platforms) you can write a script to convert a schema dump from SqlServer into MySQL (or do the conversion by hand in a text editor). Even better yet, you can write a program program to read the INFORMATION_SCHEMA table from SqlServer and produce the necessary CREATE TABLE... statements in mysql. Lots of options.

Getting MySQL code from an existing database

I have a database (mdb file) that I am currently busy with. I would like to know if it is possible to generate MySQL code that would be used to create this database?
There are a couple of tools you can look at to try to do the conversion.
DataPump
Microsoft DTS (Nos Called SQL Server Integration Services)
Other option might be generate MySQL code from Access' DB MetaData you can access from JDBC, ODBC, ADO.NET or any other database access technology with metadata support. For this option you need to generate a piece of code (script). So it will only make sense if your access DataBase has a lot of table with a lot of columns or if you are planning to do this task several times.
Of course, using one of the mentioned tools will be faster if it works.
You can certainly write DDL to create and populate a MySQL database from the work that you've already done on Microsoft Access. Just put it in a text file that you execute using MySQL batch and you're all set.
If you intend to keep going with developing both, you'll want to think about how you'll keep the two in synch.