MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Criar Conexão Oracle via VBA no Access

    Compartilhe

    kleber.arruda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 22/09/2016

    [Resolvido]Criar Conexão Oracle via VBA no Access

    Mensagem  kleber.arruda em Sex 11 Ago 2017, 22:38

    Galera Boa tarde!

    Estou finalizando meu projeto, e gostaria de ajuda de vocês, mais primeiro para se "situarem", segue algumas observações:

    - O BD está dividido em DB e FE;

    - O DB e o FE ficará hospedado no servidor da empresa, e os usuários acessarão via .rdp;

    - O Banco de Dados possui conexão com dois sistemas com Banco de Dados Oracle;

    - Ao iniciar a construção do projeto eu criei uma ODBC (na minha máquina) através do Oracle Client, e posteriormente conectei as tabelas necessárias dos Sistemas Legados.

    A pergunta é o seguinte: Eu consigo criar uma conexão do Access com o Oracle via vba, sem a necessidade de ter instalado o Oracle Client?

    Segue o código, que atualmente uso para realizar a conexão:


    Código:
    Public Function Conexao_Oracle()
       
       Dim DB                                  As DAO.Database
       Dim TDF                                 As TableDef
       Dim CONEXAO_SGE                         As String
       Dim CONEXAO_PROTHEUS                    As String
       Dim VINCULACAO                          As String
       Dim CONTAR_TDF                          As Integer
       Dim wshell
       
       Set wshell = CreateObject("Wscript.Shell")
       
       Set DB = CurrentDb()
       
    '---------------------------------------------------------------------------------------------------------
    ' 1. Muda cursor para ampulheta
    '---------------------------------------------------------------------------------------------------------

       Screen.MousePointer = 11
       
       wshell.PopUp "Conectando a Servidores Externos...", _
                     2, "UNIDES - SENAI/MT", 64
       
    '---------------------------------------------------------------------------------------------------------
    ' 2. Ajusta contador de tabelas = 1
    '---------------------------------------------------------------------------------------------------------
       
       CONTAR_TDF = 1
       
    '---------------------------------------------------------------------------------------------------------
    ' 3. Informa os parâmetros de Acesso ao Banco de Dados do iPlan
    '---------------------------------------------------------------------------------------------------------

       CONEXAO_SGE = "ODBC;" & _
                     "DSN=SGE_PRD;" & _
                     "UID=usuario;" & _
                     "PWD=senha;" & _
                     "SERVER=informacao"
                   
       CONEXAO_PROTHEUS = "ODBC;" & _
                          "DSN=PROTHEUS_PRD;" & _
                          "UID=usuario;" & _
                          "PWD=senha;" & _
                          "SERVER=informacao"
                         
    '---------------------------------------------------------------------------------------------------------
    ' 4. Inicia a barra de progresso - conta o total de tabelas vinculadas
    '---------------------------------------------------------------------------------------------------------
     
       SysCmd acSysCmdInitMeter, "Conectando a Servidores Externos...", DB.TableDefs.Count
       
    '---------------------------------------------------------------------------------------------------------
    ' 5. Loop por todas as tabelas do banco de dados
    '---------------------------------------------------------------------------------------------------------

       For Each TDF In DB.TableDefs

       SysCmd acSysCmdUpdateMeter, CONTAR_TDF
           
       CONTAR_TDF = CONTAR_TDF + 1
           
    '---------------------------------------------------------------------------------------------------------
    ' 5.1 Se a tabela tem uma seqüência de conexão, é uma tabela vinculada.
    '---------------------------------------------------------------------------------------------------------

           If Len(TDF.Connect) > 0 Then
           
               If Left$(TDF.Connect, 17) = "ODBC;DSN=SGE_PRD;" Then
                   
                   TDF.Connect = CONEXAO_SGE: TDF.RefreshLink
                   
                   ElseIf Left$(TDF.Connect, 22) = "ODBC;DSN=PROTHEUS_PRD;" Then
                   
                           TDF.Connect = CONEXAO_PROTHEUS: TDF.RefreshLink
                           
               End If
           
           End If
       
       Next TDF
                               
       SysCmd acSysCmdRemoveMeter
       
    '---------------------------------------------------------------------------------------------------------
    ' 6. Muda cursor para seta
    '---------------------------------------------------------------------------------------------------------
       
       Screen.MousePointer = 0
       
    '---------------------------------------------------------------------------------------------------------
    ' 7. Fecha o Banco de Dados e Limpa Memória
    '---------------------------------------------------------------------------------------------------------
       
       Screen.MousePointer = 0
       
       DB.Close
       
       Set TDF = Nothing
       
       Set DB = Nothing

    End Function

    Certo de contar com o costumeiro apoio de vocês
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4530
    Registrado : 15/03/2013

    Re: [Resolvido]Criar Conexão Oracle via VBA no Access

    Mensagem  ahteixeira em Sex 11 Ago 2017, 22:43

    Olá, creio que não

    No entanto efetue uma pesquisa DNSLESS

    E verifique, mas acho que tem que ter os drivers.

    Abraço

    kleber.arruda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 22/09/2016

    Sem sucesso

    Mensagem  kleber.arruda em Ter 29 Ago 2017, 15:38

    Fiz as pesquisas, conforme mencionado, porém sem sucesso, alguma ajuda aí?
    Código:

    Public Function Conexao_Oracle_Protheus()

      Dim conn As ADODB.Connection

      Set conn = New ADODB.Connection

      With conn
         ' Sem o DSN conectamos usando o driver ODBC
         ' (modifique a informação do Data Source como mostrado abaixo)

         .Open "Driver={Oracle em OraClient11g_home1};" & _
               "Server=srvtstbdoracle.sfiemt.redeinterna.dr;" & _
               "UID=usuario;" & _
               "PWD=senha;" & _
               "Database=bdtst"
             
         .Close
         
      End With

      Set conn = Nothing

    End Function
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4530
    Registrado : 15/03/2013

    Re: [Resolvido]Criar Conexão Oracle via VBA no Access

    Mensagem  ahteixeira em Ter 29 Ago 2017, 16:10

    Olá, veja se ajuda:

    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver este link.]

    É sempre necessário o Driver instalado.
    Abraço

    kleber.arruda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 22/09/2016

    Criar Conexão Oracle via VBA no Access

    Mensagem  kleber.arruda em Ter 03 Out 2017, 13:41

    Resolvi o problema, configurando a máquina aonde está o Banco de Dados em rede, utilizando as configurações nativas de ODBC.

    Quero agradecer !

    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4530
    Registrado : 15/03/2013

    Re: [Resolvido]Criar Conexão Oracle via VBA no Access

    Mensagem  ahteixeira em Ter 03 Out 2017, 16:57

    Olá Kleber Arruda,
    Obrigado pelo retorno, o fórum agradece.
    Abraço

      Data/hora atual: Sab 18 Nov 2017, 01:09