 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
etspaz Novato

Registrado: Quarta-Feira, 15 de Julho de 2009 Mensagens: 5
|
Enviada: Qua Ago 05, 2009 2:02 pm Assunto: PROBLEMA COM LINKED SERVER COM SQL SERVER E ORACLE |
|
|
Boa tarde pessoal,
Estou precisando criar um linked server de um banco no sql server 2000 para o oracle 9i.
Seguindo alguns exemplos da net, fiz o sequinte:
Código: |
EXEC sp_addlinkedserver 'CRC','Oracle','MSDAORA','IP SERVIDOR'
EXEC sp_addlinkedsrvlogin 'CRC2', 'false', NULL, 'USUARIO', 'SENHA'
|
ele até cria, mas não funciona, quando tento acessar da o seguinte erro:
Código: | Server: Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' reported an error.
[OLE/DB provider returned message: ORA-12514: TNS:listener não conseguiu resolver o SERVICE_NAME fornecido no descitor de conexão
]
OLE DB error trace [OLE/DB Provider 'MSDAORA' IDBInitialize::Initialize returned 0x80004005: ]. |
segue a query de teste utilizada:
Código: | select * from CRC..CRCOW.TB_RECEITATRAFEGO
WHERE UF = 'PA' AND CICLO='71' AND COMPETENCIA = '200904' AND DTCHAM ='8/4/2009'
AND CSP = '' AND TARIFA='CHAMADA LOCAL' AND DIRECAO = 'MMO' AND SENTIDO = 'S'
AND HORARIO='N' AND AREAORIGEM = 'PAH037' AND PLANO = 'PLANO NAC6 100 MIN'
AND INDICADORFATURADO='0' AND VALORLIQUIDO='0' AND VALORBRUTO='7,04'
AND DURACAOFRANQUEADA='0' AND DURACAOTARIFADA='1326' AND DURACAOREAL='1272'
AND QUANTIDADE=15 AND INSERT_DT='10/4/2009' AND CONTA='200904' |
A configuração no tsnames.ora:
Código: | # CRC
CRCPR1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.128.0.176)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = crcpr1)
)
)
|
|
|
Voltar ao Topo |
|
 |
DonOctavioDelFlores Colaborador

Registrado: Quarta-Feira, 12 de Setembro de 2007 Mensagens: 2630 Localização: Pra lá de Bagda
|
Enviada: Qua Ago 05, 2009 5:06 pm Assunto: |
|
|
ele nao ta achando o servico "crcpr1".
veja se esse link resolve
http://ora-12514.ora-code.com/
muito bom esse site  _________________ “The problem with the world is that everyone is a few drinks behind.” Humphrey Bogart |
|
Voltar ao Topo |
|
 |
etspaz Novato

Registrado: Quarta-Feira, 15 de Julho de 2009 Mensagens: 5
|
Enviada: Qui Ago 06, 2009 9:07 am Assunto: |
|
|
Bom dia DonOctavioDelFlores,
Eu consegui criar o linked server e acessar corretamente, seguindo o exemplo que encontrei num bolg:
Código: |
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
EXEC sp_addlinkedsrvlogin
@rmtsrvname = ‘ORA’,
@useself = ‘FALSE’,
@rmtuser = ‘orausr’,
@rmtpassword = ‘orapass’
GO
|
o exemplo usa o oracle xe, mas serviu para o 9i que é o que uso.
Porém, agora estou com um problema de conversão entre os tipos number do oracle.
Este problema já foi relatado pelo autor do exemplo, mas a solução que ele deu não me serve.
usar openquery e dar um to_char no campo number. mas preciso fazer join com uma tabela do sql server, aí ele reclama:
Código: |
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' supplied inconsistent metadata for a column. Metadata information was changed at execution time.
OLE DB error trace [Non-interface error: Column 'QUANTIDADE' (compile-time ordinal 13) of object '"CRCOW"."TB_RECEITATRAFEGO"' was reported to have a DBTYPE of 130 at compile time and 5 at run time].
|
|
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|