MaximoAccess

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

Obrigado

Administração do MaximoAccess

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

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

    kleber.arruda
    kleber.arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  kleber.arruda em 11/8/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
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 11/8/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
    kleber.arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  kleber.arruda em 29/8/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
    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 29/8/2017, 16:10

    kleber.arruda
    kleber.arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  kleber.arruda em 3/10/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 !

    ahteixeira
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em 3/10/2017, 16:57

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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 27/03/2014

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

    Mensagem  abegot em 29/3/2020, 15:56

    Mostre como faz isso
    kleber.arruda
    kleber.arruda
    Intermediário
    Intermediário

    Respeito às Regras 100%

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

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

    Mensagem  kleber.arruda em 25/4/2020, 17:20


    Qual parte exatamente?

      Data/hora atual: 10/8/2020, 06:29