Echange de données SQLSERVER et ORACLE

Le
jp preaux
Je souhaite raliser une mise jour de base de donne
oracle partir d'une base de donne SQL server 2000.
Pour cela il existe une notion de serveur li sur SQL
SERVER.
Hors s'il est trs facile de raliser cette opration
entre 2 SQL SERVER, je n'y arrive pas avec oracle (via ole
db).
Si quelqu'un a dj ralis cela merci de me donner la
config.
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
arno
Le #11341151
il faut utiliser la syntaxe suivante si la requête n'est pas driectement
interprétable par le moteur transactionnel :
- SELECT * FROM OPENQUERY(OracleLinkedServerName,'SELECT * FROM
TableName')
sinon tu peux utiliser l'autre syntaxe :
- SELECT * FROM OracleLinkedServerName..OwnerUserName.TableName

Pour l'inscrition du serveur lié, il faut choisir le provider OLE DB For
Oracle et spécifier le nom de la source de donnée.

@+

"jp preaux" news: 95c001c4337d$90b42470$
Je souhaite réaliser une mise à jour de base de donnée
oracle à partir d'une base de donnée SQL server 2000.
Pour cela il existe une notion de serveur lié sur SQL
SERVER.
Hors s'il est très facile de réaliser cette opération
entre 2 SQL SERVER, je n'y arrive pas avec oracle (via ole
db).
Si quelqu'un a déjà réalisé cela merci de me donner la
config.
Vuillermet Jacques
Le #11341051
Voici le script de création que j'utilise, de SQL Server 2000 vers Oracle
9i, en utilisant un client Oracle 8.1.7 sur ma machine SQL Server
(recommandation Microsoft de ne pas aller au delà).

sp_helpserver
GO
sp_addlinkedserver @server = 'DWHPROV_LNK' -- nom logique local
, @srvproduct = 'Oracle' -- pour info
, @provider = 'MSDAORA' -- invariant
, @datasrc = 'DWHPROV' -- alias SQL*Net déclaré dans tnsname.ora
-- , @location = '' -- inutilisé
-- , @provstr = '' -- inutilisé
-- , @catalog = '' -- inutilisé
GO
sp_helpserver
GO
sp_addlinkedsrvlogin @rmtsrvname='DWHPROV_LNK', @useself='false',
@locallogin='MonDomainejvuillermet', @rmtuser='UnCompteOracle',
@rmtpassword='UnMotDePasse'
GO
--etc....

--Pour tester dans la foulée
SELECT TOP 1 *
FROM DWHPROV_LNK..SOFTEXTDBA.PRODUIT

A lire :
"Oracle 8i/9i et SQL Server 2000 - Le guide de l'intégration" de
S. Chelack .

Attention, ton adresse mail est en clair.

Jacques.

"jp preaux" news: 95c001c4337d$90b42470$
Je souhaite réaliser une mise à jour de base de donnée
oracle à partir d'une base de donnée SQL server 2000.
Pour cela il existe une notion de serveur lié sur SQL
SERVER.
Hors s'il est très facile de réaliser cette opération
entre 2 SQL SERVER, je n'y arrive pas avec oracle (via ole
db).
Si quelqu'un a déjà réalisé cela merci de me donner la
config.
Vuillermet Jacques
Le #11335151
>où as tu appris que microsoft recommandait une version 8.1.7 maxi


Par le support Microsoft France suite à l'ouverture d'un incident concernant
la relation entre SQL Server et Oracle.
En fait, les versions ultérieures n'ont pas encore été sérieusement
systématiquement testées.
Donc, en cas d'incident, le support Microsoft demande d'abord de revenir à
cette version, puis il regarde où est le problème.

L'alias SQL*net présent dans tns.. c'est bien le nom de la machine


référencé par host dans le fichier.
Dans oracleora81networkADMINtnsnames.ora :
L_ALIAS_SQLNET (DESCRIPTION (ADDRESS_LIST (ADDRESS = (PROTOCOL = TCP)(HOST = LA_MACHINE)(PORT = 1521))
)
(CONNECT_DATA (SERVICE_NAME = LE_SERVICE)
)
)


Jacques.


"jppreaux" news:
A priori au vu de ta réponse c'est exactement ce que je faisais, par


contre où as tu appris que microsoft recommandait une version 8.1.7 maxi,
car moi j'ai installé ce que j'avais à ma disposition et c'est la version
9.0.1.1.1 du client oracle.

Autre chose pour bien être sur des infos saisies. L'alias SQL*net présent


dans tns.. c'est bien le nom de la machine référencé par host dans le
fichier.




Vuillermet Jacques
Le #11335121
A toutes fins utiles :

- le client 8.1.7 :
http://otn.oracle.com/software/tech/windows/ole/index.html

- la désintallation d'une version d'Oracle dans un document Oracle :

NOTE 124353.1 How to remove all Oracle components from Microsoft Windows
Platforms

Jacques.



"Vuillermet Jacques" news:

>où as tu appris que microsoft recommandait une version 8.1.7 maxi
Par le support Microsoft France suite à l'ouverture d'un incident


concernant
la relation entre SQL Server et Oracle.
En fait, les versions ultérieures n'ont pas encore été sérieusement
systématiquement testées.
Donc, en cas d'incident, le support Microsoft demande d'abord de revenir à
cette version, puis il regarde où est le problème.

>L'alias SQL*net présent dans tns.. c'est bien le nom de la machine
référencé par host dans le fichier.
Dans oracleora81networkADMINtnsnames.ora :
L_ALIAS_SQLNET > (DESCRIPTION > (ADDRESS_LIST > (ADDRESS = (PROTOCOL = TCP)(HOST = LA_MACHINE)(PORT = 1521))
)
(CONNECT_DATA > (SERVICE_NAME = LE_SERVICE)
)
)


Jacques.


"jppreaux"

de
news:
> A priori au vu de ta réponse c'est exactement ce que je faisais, par
contre où as tu appris que microsoft recommandait une version 8.1.7 maxi,
car moi j'ai installé ce que j'avais à ma disposition et c'est la version
9.0.1.1.1 du client oracle.
>
> Autre chose pour bien être sur des infos saisies. L'alias SQL*net


présent
dans tns.. c'est bien le nom de la machine référencé par host dans le
fichier.
>
>




Publicité
Poster une réponse
Anonyme