OVH Cloud OVH Cloud

Serveur MySQL lié

3 réponses
Avatar
HervéR
Bonjour,

Dans SQL Enterprise Manager j'ai lié un serveur MySQL via un lien ODBC MySQL
3.51.
Cela fonctionne bien et depuis Enterprise Manager je peux voir la liste des
tables de ce serveur MySQL lié.

Ma question : comment, en Transact SQL, accéder aux données d'une table de
ce serveur lié ?
La syntaxe générale est, si je ne me trompe pas :
select * from SERVEUR.BaseDeDonnees.Proprietaire.Table
mais il semble qu'il n'y ait pas de notion de propriétaire en MySQL.

Ce qui me semblait le lus judicieux était
select * from SERVEUR.BaseDeDonnees.Table
mais cela me renvoie "nom d'objet incorrect"
J'ai essayé, à tout hasard,
select * from SERVEUR.BaseDeDonnees.admin.Table
qui m'a renvoyé "Utilisation non valide du schéma ou du catalogue par le
fournisseur OLE DB 'MSDASQL'. Un nom en quatre parties a été donné mais le
fournisseur ne met à pas disposition les interfaces requises pour utiliser
le catalogue ou le schéma."

Je sui un peu perdu !
Quelqu'un a-t-il déjà fait ce genre de chose ?
Merci d'avance.

3 réponses

Avatar
deconnected
Salut,

Moi j'utilise

select *
from OpenQuery (MYSQL,'Select * from matablesurMysql')

où MYSQL est le nom de ton server lié


"HervéR" a écrit dans le message de
news:%
Bonjour,

Dans SQL Enterprise Manager j'ai lié un serveur MySQL via un lien ODBC


MySQL
3.51.
Cela fonctionne bien et depuis Enterprise Manager je peux voir la liste


des
tables de ce serveur MySQL lié.

Ma question : comment, en Transact SQL, accéder aux données d'une table de
ce serveur lié ?
La syntaxe générale est, si je ne me trompe pas :
select * from SERVEUR.BaseDeDonnees.Proprietaire.Table
mais il semble qu'il n'y ait pas de notion de propriétaire en MySQL.

Ce qui me semblait le lus judicieux était
select * from SERVEUR.BaseDeDonnees.Table
mais cela me renvoie "nom d'objet incorrect"
J'ai essayé, à tout hasard,
select * from SERVEUR.BaseDeDonnees.admin.Table
qui m'a renvoyé "Utilisation non valide du schéma ou du catalogue par le
fournisseur OLE DB 'MSDASQL'. Un nom en quatre parties a été donné mais le
fournisseur ne met à pas disposition les interfaces requises pour utiliser
le catalogue ou le schéma."

Je sui un peu perdu !
Quelqu'un a-t-il déjà fait ce genre de chose ?
Merci d'avance.




Avatar
Fred Pichaut [MS]
SELECT * FROM OPENQUERY(SERVEUR, 'SELECT * FROM BaseDeDonnees.Table')


--
Cdlt,

FP
"HervéR" wrote in message
news:#
Bonjour,

Dans SQL Enterprise Manager j'ai lié un serveur MySQL via un lien ODBC


MySQL
3.51.
Cela fonctionne bien et depuis Enterprise Manager je peux voir la liste


des
tables de ce serveur MySQL lié.

Ma question : comment, en Transact SQL, accéder aux données d'une table de
ce serveur lié ?
La syntaxe générale est, si je ne me trompe pas :
select * from SERVEUR.BaseDeDonnees.Proprietaire.Table
mais il semble qu'il n'y ait pas de notion de propriétaire en MySQL.

Ce qui me semblait le lus judicieux était
select * from SERVEUR.BaseDeDonnees.Table
mais cela me renvoie "nom d'objet incorrect"
J'ai essayé, à tout hasard,
select * from SERVEUR.BaseDeDonnees.admin.Table
qui m'a renvoyé "Utilisation non valide du schéma ou du catalogue par le
fournisseur OLE DB 'MSDASQL'. Un nom en quatre parties a été donné mais le
fournisseur ne met à pas disposition les interfaces requises pour utiliser
le catalogue ou le schéma."

Je sui un peu perdu !
Quelqu'un a-t-il déjà fait ce genre de chose ?
Merci d'avance.




Avatar
HervéR
Merci à tous 2, deconnected et Fred Pichaut, ça marche nickel !