Is there something which can perform a query across different database systems?

It would extend the database.table.field notation to maybe
dbms.database.table.field and allow queries across MySQL and MSSQL
such as:
//$sql =
SELECT MySQLidentifier.aDatabase.aTable.aField,
FROM MySQLidentifier.aDatabase.aTable,
WHERE MySQLidentifier.aDatabase.aTable.aKeyField =
//Or through JOINS, etc.

I've seen the linked server option in MSSQL.  Technically I can write
to MSSQL, but company policy prohibits it.  To steer clear of
ambiguity, personally I've decided that I will also not create
triggers (or any object) on MSSQL (which is a write in my mind).
Basically I will only read information from MSSQL.

I was thinking of PDO, which raises an interesting distinction of
data-access abstraction layer versus database abstraction (which as I
understand means no SQL rewrite or missing feature emulation -- SQL
rewrite example: "TOP n" prefix versus "LIMIT n" suffix).  The PDO
developers may be close to creating such a feature.
$MySQLidentifier = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$MSSQLidentifier = new PDO('mssql:host=localhost;dbname=test', $user, $pass);
$dbh = new PDO_LinkedServers($MySQLidentifier, $MSSQLidentifier);

Looking at MSSQL's OPENQUERY syntax, I don't even know if MSSQL
provides this extended query notation.  It just seems to allow a query
on a remote (or distributed) server.


PHP Database Mailing List (
To unsubscribe, visit:

Reply via email to