Linked server com Oracle

Lembre-se de substituir 127.0.0.1 pelo IP que roda o servidor Oracle XE. O driver OraOLEDB.Oracle acompanha o pacote Oracle Developer Tools for Visual Studio.

A SP add_linkedserver abaixo funciona para o Oracle XE:

EXEC sp_addlinkedserver
@server = ‘ORA’,
@srvproduct = ‘Oracle’,
@provider = ‘OraOLEDB.Oracle’,
@datasrc = ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=XE)))’
GO

É necessário também ticar a opção Allow inprocess nas propriedadas do provider. É possível acessar os provedores em:

Server ObjectsLinked ServersProviders

Depois é só configurar um usuário e senha para o Linked Server gravado através da SP sp_addlinkedsrvlogin:

EXEC sp_addlinkedsrvlogin
@rmtsrvname = ‘ORA’,
@useself = ‘FALSE’,
@rmtuser = ‘orausr’,
@rmtpassword = ‘orapass’
GO

Note que no MSSQL2005 há um problema referente aos campos number no Oracle e int no MSSQL. O provedor não consegue fazer a conversão, lançando um erro de conversão para numeric.

Já no SQL2008 parece funcionar.

As consultas podem ser realizadas através do comando openquery:

SELECT * FROM openquery(ORA, ‘SELECT * FROM TABELA’)


Posts relacionados

This entry was posted in programação, software and tagged . Bookmark the permalink.

One Response to Linked server com Oracle

  1. JORGE LUIZ CARDOSO says:

    Salvou o dia heim ! vlw

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>