locked
Erro 7311 - Linked Server acessando Banco Oracle RRS feed

  • Pergunta

  • Amigos , boa tarde !!

    Criei um Linked Server para acessar as tabelas em um Banco Oracle, O Objeto é criado com sucesso, mas não esta acessando as tabelas do banco..apresenta o erro abaixo.

    Cannot obtain the schema rowset "DBSCHEMA_TABLES" for OLE DB provider "OraOLEDB.Oracle" for linked server "EBS_DEV_PERU". The provider supports the interface, but returns a failure code when it is used. (Microsoft SQL Server, Error: 7311)

    Fico Grato pela ajuda.


    quarta-feira, 9 de setembro de 2015 19:52

Respostas

  • Oi Raul,

    A criação de um linked Server pede atenção específica na questão da segurança e isso inclui o usuário que vc usa para acessar o banco !!!

    Verifica as suas configurações de segurança no linked server, vc pode usar um usuário especifico para acessar, vc configura ele marcando a opção "Serão feitas usando este contexto de segurança"
    Login remoto
    Com a senha
    Esse usuário é um usuário que existe no seu banco de destino, coloca um que vc GARANTE ter acesso as tabelas e testa..
    Posta a imagem com sua configuração de segurança, caso não funcione !!!


    Flávio Farias
    "May the Force be with you"
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quinta-feira, 10 de setembro de 2015 01:33
  • Olá Raul,

    No meu blog tem um post sobre como resolver esse problema.

    http://www.tiagoneves.net/blog/linked-server-do-sql-server-para-oracle-dando-erro-cannot-create-an-instance-of-ole-db-provider-oraoledb-oracle-for-linked-server-linkedservername/

    Espero ter ajudado.


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net

    quinta-feira, 10 de setembro de 2015 02:17

Todas as Respostas

  • Oi Raul,

    A criação de um linked Server pede atenção específica na questão da segurança e isso inclui o usuário que vc usa para acessar o banco !!!

    Verifica as suas configurações de segurança no linked server, vc pode usar um usuário especifico para acessar, vc configura ele marcando a opção "Serão feitas usando este contexto de segurança"
    Login remoto
    Com a senha
    Esse usuário é um usuário que existe no seu banco de destino, coloca um que vc GARANTE ter acesso as tabelas e testa..
    Posta a imagem com sua configuração de segurança, caso não funcione !!!


    Flávio Farias
    "May the Force be with you"
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"

    quinta-feira, 10 de setembro de 2015 01:33
  • Olá Raul,

    No meu blog tem um post sobre como resolver esse problema.

    http://www.tiagoneves.net/blog/linked-server-do-sql-server-para-oracle-dando-erro-cannot-create-an-instance-of-ole-db-provider-oraoledb-oracle-for-linked-server-linkedservername/

    Espero ter ajudado.


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net

    quinta-feira, 10 de setembro de 2015 02:17
  • Ola Tiago, bom dia ! 

    O procedimento que consta em seu Blog nós já executamos. Porem sem sucesso. 

    Muito obrigado pela ajuda.

    quinta-feira, 10 de setembro de 2015 12:51
  • Vc consegue executar um teste no linkedserver para validar se esta conseguindo acessar?

    Vc tem como colocar a query que vc esta tentando executar?


    Se a resposta foi útil por favor classifique. Tiago Neves - @tiagolneves - acesse o meu blog http://www.tiagoneves.net

    quinta-feira, 10 de setembro de 2015 12:56
  • Olá Flavio , verifiquei as questões de segurança do usuário e aparentemente estão corretas.. Por aqui não consigo mandar imagens, lhe enviei pelo FB.
    quinta-feira, 10 de setembro de 2015 12:59
  • /****** Object:  LinkedServer [PESTGAT]    Script Date: 09/10/2015 10:41:22 ******/
    EXEC master.dbo.sp_addlinkedserver @server = N'PESTGAT', @srvproduct=N'OraOLEDB.oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'PESTGAT'
     /* For security reasons the linked server remote logins password is changed with ######## */
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'PESTGAT',@useself=N'False',@locallogin=NULL,@rmtuser=N'planning',@rmtpassword='########'

    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'collation compatible', @optvalue=N'true'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'data access', @optvalue=N'true'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'dist', @optvalue=N'false'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'pub', @optvalue=N'false'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'rpc', @optvalue=N'false'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'rpc out', @optvalue=N'false'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'sub', @optvalue=N'false'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'connect timeout', @optvalue=N'0'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'collation name', @optvalue=null
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'lazy schema validation', @optvalue=N'false'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'query timeout', @optvalue=N'0'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'use remote collation', @optvalue=N'true'
    GO

    EXEC master.dbo.sp_serveroption @server=N'PESTGAT', @optname=N'remote proc transaction promotion', @optvalue=N'true'
    GO

    quinta-feira, 10 de setembro de 2015 13:42