Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Echange de données SQLSERVER et ORACLE

4 réponses
Avatar
jp preaux
Je souhaite r=E9aliser une mise =E0 jour de base de donn=E9e=20
oracle =E0 partir d'une base de donn=E9e SQL server 2000.=20
Pour cela il existe une notion de serveur li=E9 sur SQL=20
SERVER.=20
Hors s'il est tr=E8s facile de r=E9aliser cette op=E9ration=20
entre 2 SQL SERVER, je n'y arrive pas avec oracle (via ole=20
db).=20
Si quelqu'un a d=E9j=E0 r=E9alis=E9 cela merci de me donner la=20
config.

4 réponses

Avatar
arno
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" a écrit dans le message de
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.
Avatar
Vuillermet Jacques
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" a écrit dans le message de
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.
Avatar
Vuillermet Jacques
>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" a écrit dans le message 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.




Avatar
Vuillermet Jacques
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" a écrit dans le message de
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" a écrit dans le message


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.
>
>