locked
Erro Linked Server Sql x Oracle RRS feed

  • Pergunta

  • Bom dia sou novato no que diz questão de Linked Server. Gostaria que me ajudasse na questão abaixo.

    Criei um Linked Server em meu Sql 2005 Express vinculando com o Oracle 10g XE até tudo bem.  O meu problema é que eu tenho uma trigger que ao ser executada esta retornando o erro:

    "OLE DB provider "MSDASQL" for linked server "SAPIENS" returned message "[Oracle][ODBC]Failed to enlist global transaction with DTC".

    " "The operation could not be performed because OLE DB provider "MSDASQL" for linked server "SAPIENS" was unable to begin a distributed transaction."
    Apenas para ajudar: Se eu der um select na table do oracle não da problema (SELECT * FROM OPENQUERY (SAPIENS, 'SELECT * FROM auditoria'))
    Trigger usada
    create trigger T_CLIENTE 
    on Cliente 
    for insert 
    as
    insert into OPENQUERY (SAPIENS, 'SELECT * FROM auditoria') 
    (acod,arazsoc)         
    select t01cod, t01razsoc from cliente 
    Linked server usado:
    EXEC master.dbo.sp_addlinkedserver @server = N'SAPIENS', @srvproduct=N'Oracle', @provider=N'MSDASQL', @datasrc=N'RICARDO'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'collation compatible', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'data access', @optvalue=N'true'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'dist', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'pub', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'rpc', @optvalue=N'true'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'rpc out', @optvalue=N'true'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'sub', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'connect timeout', @optvalue=N'0'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'collation name', @optvalue=null
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'lazy schema validation', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'query timeout', @optvalue=N'0'
    GO
    EXEC master.dbo.sp_serveroption @server=N'SAPIENS', @optname=N'use remote collation', @optvalue=N'true'

     

     

    Desde já agradeço.

     

     

    quinta-feira, 11 de agosto de 2011 13:15

Respostas

  • Ricardo,

     

    Clique com o botão direito sobre o linked server vai em propriedades. Depois va em Server Options e coloque true para as opções RPC e RPC out

     

    At,

     

    Rodrigo Santana

    • Marcado como Resposta Richard Juhasz sexta-feira, 9 de setembro de 2011 19:48
    quinta-feira, 8 de setembro de 2011 18:29
  • Acertei este problema rodando a query abaixo.

     

    sp_configure remote proc trans off

     

    Mesmo assim obrigado.


    Ricardo Costa
    quinta-feira, 22 de setembro de 2011 15:32

Todas as Respostas

  • Ricardo,

     

    Clique com o botão direito sobre o linked server vai em propriedades. Depois va em Server Options e coloque true para as opções RPC e RPC out

     

    At,

     

    Rodrigo Santana

    • Marcado como Resposta Richard Juhasz sexta-feira, 9 de setembro de 2011 19:48
    quinta-feira, 8 de setembro de 2011 18:29
  • Acertei este problema rodando a query abaixo.

     

    sp_configure remote proc trans off

     

    Mesmo assim obrigado.


    Ricardo Costa
    quinta-feira, 22 de setembro de 2011 15:32