[RESOLVIDO] Progress x MySql

Discussão em 'EMS , HCM e Totvs 11' iniciado por Will, Agosto 5, 2010.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. Will

    Will Membro Participativo

    Eae glera, estou tentando fazer uma conexão com um banco Mysql criado porém estou com dificuldades, segue o código o mesmo me retorna
    "Ocorreu erro durante o acesso a componente da propriedade/metodo: Open [Microsoft][ODBC Driver Manager] Nome da Fonte de dados não encontrado e nenhum driver padrão especificado. Error code: 0x80020009" (ufa) enfim segue o código

    Código:
    Def var Cnxn0 as com-handle no-undo.
    Def var rs0 as com-handle no-undo.
    Def var ObjCommand0 as com-handle no-undo.
    
    Def var ODBC-DSN as character no-undo.
        Def var ODBC-SERVER as character no-undo.
        Def var ODBC-USERID as character no-undo.
        Def var ODBC-PASSWD as character no-undo.
        Def var ODBC-QUERY as character no-undo.
        Def var ODBC-STATUS as character no-undo.
    
    Create "ADODB.Connection" Cnxn0.
     Create "ADODB.RecordSet" rs0.
        Create "ADODB.Command" ObjCommand0. 
        assign ODBC-QUERY = "Select * from pessoas where codigo = 1". 
    
        
    Cnxn0:Open ( "data source=teste;server=192.9.200.5", "user", "pass", -1).
  2. Will

    Will Membro Participativo

    Glera consegui resolver por parte, alterei minha string de conexão, ae rodando o mesmo no servidor da seguinte maneira
    Cnxn0:Open ( "DRIVER=MySQL ODBC 5.1 Driver;server=localHost;port=7000;database=teste", "root", "pass", -1).
    ele conecta no mysql

    porém ao rodar de uam estação com o driver odbc instalado
    Cnxn0:Open ( "DRIVER=MySQL ODBC 5.1 Driver;server=192.9.200.5;port=7000;database=teste", "root", "pass", -1).

    ele retorna a mensagem

    "Access denied for user root@nomeDaMinhaMaquina."

    Alguém já viu isso?
  3. kirchner

    kirchner Membro Participativo Moderador

    Will, sim,

    O sistema de segurança do MySQL considera host + login + senha para autenticação.
    Se você olhar na tabela de segurança (acho que é mysql.user), vai ver que o login root só está autorizado em "localhost".

    Você tem duas opções:
    - altera o host do root p/ %, que significa todos;
    - cria um outro login, só com as permissões que você precisa, e com os hosts que você precisa (mais seguro);
    don.junior curtiu isso.
  4. Will

    Will Membro Participativo

    AE grande Marcos, já consegui resolver o problema, criei um novo usário como vocÊ comentou, vlwwww pela ajuda
  5. arley79

    arley79 Sem Pontuação

    Bom dia,

    depois de conectado como que faço para listar os dados ?

    Valew !
  6. denis.berteli

    denis.berteli Sem Pontuação

    Segue um script para conexão a um banco MySql hospedado na internet:

    define variable chConnection as com-handle no-undo.
    define variable chCommand as com-handle no-undo.
    define variable ObjRecordSet as com-handle no-undo.
    define variable ODBC-RECCOUNT as integer no-undo.
    define variable ODBC-NULL as character no-undo.
    define variable ODBC-CURSOR as integer no-undo.

    /* Cria a conexão com o banco de dados */
    create "ADODB.Connection" chConnection.
    create "ADODB.Command" chCommand.

    chConnection:Open ("DRIVER=MySQL ODBC 5.1 Driver;server=mysql.meusite.net;database=meubanco;","usuario","senha", -1).

    chCommand:ActiveConnection = chConnection no-error.

    if error-status:error then do:
    message "Ocorreram problemas na conexão com o banco de dados."
    view-as alert-box error buttons ok title "Conexão".
    return no-apply.
    end.

    chCommand:CommandText = "select * " +
    "from categoria a " +
    "where a.cate_nome <> '' ".

    chConnection:CursorLocation = 3.

    ObjRecordSet = chCommand:execute(output ODBC-NULL, "", 32 ) no-error.

    if ObjRecordSet:RecordCount > 0 then do:

    ODBC-RECCOUNT = integer(ObjRecordSet:RecordCount).
    ODBC-CURSOR = 0.
    ObjRecordSet:MoveFirst no-error.

    do while ODBC-CURSOR < ODBC-RECCOUNT:

    MESSAGE ObjRecordSet:fields ("cate_nome"):value
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

    ODBC-CURSOR = ODBC-CURSOR + 1.
    ObjRecordSet:MoveNext no-error.
    end.

    end.

    /* Fecha Conexão com o Banco */
    chConnection:Close no-error.
    IF VALID-HANDLE(chConnection) THEN
    release object chConnection no-error.

    IF VALID-HANDLE(chCommand) THEN
    release object chCommand no-error.
    danielsufiatti e don.junior curtiram isso.
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página