MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

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

2 participantes

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset

    renatomoss
    renatomoss
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 26/01/2011

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset Empty Access com BackEnd na Web - Problemas com Recordset

    Mensagem  renatomoss 24/9/2013, 02:37

    Pessoal, boa noite
    estou enfrentando problemas com minha aplicação access

    Estou usando Access 2013 como front end e MySQL(em um site de hospedagem) como back end

    A aplicação tem um comportamento que oscila muito e não consigo encontrar o problema

    Consigo conectar, popular os formulários, fazer updates, mas sem motivos aparentes ele falha em alguma dessas etapas com as seguinte mensagens:

    Ao conectar com o banco
    "Erro em tempo de execução '-2147467259 (80004005)':
    Erro não especificado

    Quando tento atualizar algum dado no banco já conectado
    "Erro em tempo de execução '-2147217887 (80040e21)':
    O driver ODBC não oferece suporte paras a propriedades solicitadas.

    Eu estou usando a técnica de manter a conexão ativa e abrir/fechar recordsets , pode ser isso?
    estou usado o MySQL ODBC 5.2 ANSI Driver para conexão como banco de dados

    estou com o projeto empacado a várias semanas por causa desse impasse,
    alguém tem idéia do que pode estar acontecendo?

    agradeço desde já
    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset Empty Re: [Resolvido]Access com BackEnd na Web - Problemas com Recordset

    Mensagem  Avelino João 24/9/2013, 09:22

    renatomoss bom dia tenta usar codigo ";INITSTMT=SET @@wait_timeout=28800" para deixa ativo o servidor ate 08 hora esse procedimento não é muito aconselhado mais se não funcionar é melhor trocar de provedor.






    Código:
    Function executa(csql) 'As Boolean
    'Atualiza dados no Banco utilizando o código Sql passado à função,
    'retornando verdadeiro caso a operação ocorra com sucesso
    'ou falso caso ocorra algum problema
     
        If sErr = -1 Then    'Habilita tratamento de erro
            On Error GoTo Err_executa
        End If


        If cn.State = 1 Then    'verificar o status do banco de dados. Se aberto fecha a conexão
            cn.Close
        End If

        If rs.State = 1 Then    'verificar o status do recordeset. Se aberto fecha a conexão
            rs.Close
        End If


        Call MySQL_Server    'Carrega parametros do servidor

        cn.Open "Driver={MySQL ODBC 5.1 Driver};Server=" & MyslqServidor & ";Database=" & MyslqDatabase & ";User=" & MyslqUsuario & "; Password=" & MyslqSenha & "; Port=" & MyslqPorta & ";INITSTMT=SET @@wait_timeout=28800" & ";Option=4;"
        rs.CursorLocation = adUseClient
      rs.Open csql, cn, adOpenDynamic, adLockBatchOptimistic


      On Error GoTo 0
        Exit Sub


    Err_executa:

        DoCmd.Hourglass False
        MsgBox "Ocorreu um erro na aplicação." & vbCr & "Relate os dados abaixo ao suporte." & vbExclamation


    End Function


    .................................................................................
    Proaccess - Angola
    renatomoss
    renatomoss
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 26/01/2011

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset Empty Re: [Resolvido]Access com BackEnd na Web - Problemas com Recordset

    Mensagem  renatomoss 24/9/2013, 14:31

    Bom dia Avelino
    Obrigado pela contribuição

    Isso funcionou sim, pelo menos até agora não deu nenhum daqueles erros
    eu já estava quase desistindo de usar essa infraestrutura Access + SQL , mas agora vou dar continuidade ao projeto

    Mas, a nível de conhecimento mesmo, o que essa instrução faz?
    eu tentei procurar informações em livros, outros sites e até na própria central da microsoft
    algo com mais profundidade sobre conexões e recordsets e não encontrei, vc teria alguma sugestão?

    grato novamente

    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset Empty Re: [Resolvido]Access com BackEnd na Web - Problemas com Recordset

    Mensagem  Avelino João 24/9/2013, 16:24

    renatomoss Boa Tarde qual o banco de dados que estas a usar Mysql ou Sql Server?

    Se for o Mysql aconselho-te a usar também Stored Procedur a tua aplicação ira ganhar muito em termos de desempenho.
    Estou a fazer um tutorial sobre Procedur entre Ms Access e Mysql


    .................................................................................
    Proaccess - Angola
    renatomoss
    renatomoss
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 26/01/2011

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset Empty Re: [Resolvido]Access com BackEnd na Web - Problemas com Recordset

    Mensagem  renatomoss 24/9/2013, 16:32

    Boa Tarde Avelino

    Uso o MySQL 5.1.61

    Boa notícia! onde posso baixar esse tutorial?
    vou me informar sobre as Stored Procedures

    Avelino, é possível configurar o MySQL a partir de instruções do VBA? por exemplo, como posso definir os IP's que poderão ter acesso ao banco remoto através da string de conexão?

    obrigado mais uma vez
    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset Empty Re: [Resolvido]Access com BackEnd na Web - Problemas com Recordset

    Mensagem  Avelino João 24/9/2013, 17:45

    Ola basta usar uma tabela com os dados de conexão, o IP pode ser o nome computador que estas instalado o Mysql ou o próprio IP do PC, agora se você quiser que o usuários defini o IP deves usar um formulário para cadastrar os dados de conexão na tabela de configuração, o usuário pode ter acesso a esse formulário quando tiver a carregar o sistema, adiciona o botão no formulário login que ira chamar esse formulário de configuração do endereço de conexão veja o código abaixo sobre conectar dados na tabela de configuração.



    Código:
    '---------------------------------------------------------------------------------------
    '  PROCEDIMENTO: MySQL_Server
    '    DESCRIÇÃO: Carrega os dados para conexão ao servidor MySQL
    '---------------------------------------------------------------------------------------
    Public Sub MySQL_Server()


        If sErr = -1 Then    'Habilita tratamento de erro
            On Error GoTo MySQL_Server_Erro
        End If


        MyslqServidor = DLookup("[Valor]", "_config", "[ID]=8")    'Servidor Web
        MyslqUsuario = DLookup("[Valor]", "_config", "[ID]=10")    'Usuário do banco de dados
        MyslqSenha = DLookup("[Valor]", "_config", "[ID]=11")    'Senha do banco de dados
        MyslqDatabase = DLookup("[Valor]", "_config", "[ID]=12")    'Database
        MyslqPorta = DLookup("[Valor]", "_config", "[ID]=16")    'Porta

        On Error GoTo 0
        Exit Sub

    MySQL_Server_Erro:

        DoCmd.Hourglass False
        MsgBox "Ocorreu um erro na aplicação." & vbCr & "Relate os dados abaixo ao suporte." & vbExclamation

    End Sub
    Function executa(csql) 'As Boolean
    'Atualiza dados no Banco utilizando o código Sql passado à função,
    'retornando verdadeiro caso a operação ocorra com sucesso
    'ou falso caso ocorra algum problema
     
        If sErr = -1 Then    'Habilita tratamento de erro
            On Error GoTo Err_executa
        End If


        If cn.State = 1 Then    'verificar o status do banco de dados. Se aberto fecha a conexão
            cn.Close
        End If

        If rs.State = 1 Then    'verificar o status do recordeset. Se aberto fecha a conexão
            rs.Close
        End If


        Call MySQL_Server    'Carrega parametros do servidor

        cn.Open "Driver={MySQL ODBC 5.1 Driver};Server=" & MyslqServidor & ";Database=" & MyslqDatabase & ";User=" & MyslqUsuario & "; Password=" & MyslqSenha & "; Port=" & MyslqPorta & ";INITSTMT=SET @@wait_timeout=28800" & ";Option=4;"
        rs.CursorLocation = adUseClient
      rs.Open csql, cn, adOpenDynamic, adLockBatchOptimistic


      On Error GoTo 0
        Exit Sub


    Err_executa:

        DoCmd.Hourglass False
        MsgBox "Ocorreu um erro na aplicação." & vbCr & "Relate os dados abaixo ao suporte." & vbExclamation


    End Function


    .................................................................................
    Proaccess - Angola
    renatomoss
    renatomoss
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 26/01/2011

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset Empty Re: [Resolvido]Access com BackEnd na Web - Problemas com Recordset

    Mensagem  renatomoss 26/9/2013, 01:13

    Avelino, Boa noite

    Na verdade não é bem isso

    Eu queria saber se é possível incluir alguma instrução na string de conexão onde eu possa permitir o acesso remoto ao MySQL a partir de vários IP's como por exemplo 127.50.%.%, ou seja todos os IP's que estivessem nessa rede teriam acesso ao banco,

    obrigado
    Avelino João
    Avelino João
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 316
    Registrado : 10/03/2012

    [Resolvido]Access com BackEnd na Web - Problemas com Recordset Empty Re: [Resolvido]Access com BackEnd na Web - Problemas com Recordset

    Mensagem  Avelino João 26/9/2013, 10:41

    renatomoss bom dia se você quer conectar o Mysql a partir de varias estações basta liberar a porta do servidor (Mysql) para conexão remotas, agora se a tua ideia é acessar o Mysql com varias IP's a partir do access tens que primeiro definir todos os IP's no Mysql sera que é essa a tua ideia?


    .................................................................................
    Proaccess - Angola

      Data/hora atual: 28/11/2022, 02:53