1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

PHP x ODBC Progress

Discussão em 'Outras Linguagens' iniciado por asbahr, Dezembro 10, 2012.

  1. asbahr

    asbahr Membro Participativo

    Bom dia

    Amigos, ve ser alguem pode me ajudar:

    Estou com o seguinte problema, o ODBC esta conectando sem problemas, o codigo fonte tb esta correto, porem quando executo no navegador nao apresenta dados nenhum, como se a tabela estivesse zerada, mas tem 3 registros nela, criei uma tabela nova na base de dados. Alguem ja teve algum problema desde de estar tudo certo mas nao trazer informações da tabela.

    Obrigado
  2. rhemati

    rhemati Membro Participativo

    Meu caro, asbahr.

    Está dando alguma tela de erro. ou não mostra nem os registros, e nem os erros?
    Você criou o usuário no banco? vc está usando arquivos .bat para carregar os bancos ou progress explorer tools e lá separou uma porta/conexão para 4gl e outra para SQL/ODBC ou deixou uma só?
    No windows, ferramentas administrativas, conexao odbc criou uma e testou funcionou?
    Fica ai alguns detalhes e observações a seguir.
    Tem como vc postar o seu código para dar uma olhada.

    Obrigado.
  3. rhemati

    rhemati Membro Participativo

    Olha um exemplo meu que funciona.

    É, claro que, com todos aqueles questionamentos que eu te falei e te fiz, devem estar prontos para funcionar.

    No meu aqui funciona.

    veja:

    Código:
    <?php
    
    	define('DB_DRIVER', '{Progress OpenEdge 10.1A driver};');
    	define('DB_NOME', 'ems2cad;');
    	define('DB_USUARIO', 'SYSPROGRESS');
    	define('DB_SENHA', 'super');
    	define('DB_HOST', 'localhost;');
    	define('DB_PORT', '7710;');
    
    	echo DB_DRIVER;
    	echo '<br>';
    	
    	echo DB_NOME;
    	echo '<br>';	
    
    	echo DB_USUARIO;
    	echo '<br>';
    	
    	echo DB_SENHA;
    	echo '<br>';
    	
    	echo DB_HOST;
    	echo '<br>';
    	
    	echo DB_PORT;	
    	echo '<br>';
    	
    	//Conecta ao MySQL.
    	 /* Cria a conexão Substitua pelo seu próprio nome de usuário e senha */
    	$conn = odbc_connect( "Driver=" .DB_DRIVER . "HostName=" .DB_HOST . "PortNumber=" . DB_PORT . "DatabaseName=" .DB_NOME . "DefaultIsolationLevel=READ COMMITTED;                              ", DB_USUARIO , DB_SENHA , SQL_CUR_USE_ODBC )
             or die ("Não foi possivel conectar com o Banco de Dados NOME_DATABASE!!!" .mysql_error() );
    		 
    	$sql = "select count( * ) as Qtde from PUB.emitente";
    	
    	$rs = odbc_exec($conn,$sql);
    	odbc_fetch_row($rs);
    	echo "\nQtde\n\n" . odbc_result($rs,'Qtde') . "\n";
    
    	odbc_close($conn);
    	exit;
    
    ?>
    
  4. asbahr

    asbahr Membro Participativo

    boa tarde

    Primeiramente agradeço pelo contato.

    Eu tenho outras conexoes ODBC com outros banco e funciona corretamente com a mesma sequencias de codigo como no exemplo que segue abaixo. Eu dei a carga no banco para 4Gl em uma porta e SQL em outra porta, a conexao ODBC funciona no windows, teste ok. Não mostra nenhum registro e nao apresenta nenhum erro nada.

    Segue o Codigo:

    Código:
    <html>
    
    <?php
    
    
    // instrução SQL que busca o usuário no banco
       $sql = "SELECT \"uausuari\".\"id-uausuari\",
    		  \"uausuari\".\"login\",
    		  \"uausuari\".\"senha\",
    		  \"uausuari\".\"nm-usuario\",
    		  \"uausuari\".\"email\" FROM PUB.\"uausuari\" ";        
    
    
      $conexao = odbc_connect("nome-odbc","usuario-banco","senha-banco",SQL_CUR_USE_ODBC)
            or die ("Não foi possivel conectar com o Banco!!!");
    
    
    if($conexao)
    {
       // executando a instrução SQL
       $resultado = odbc_exec($conexao,$sql);
       
                  echo "<html>";
                 echo "<head>";
                 //echo "<body bgcolor='#FFFFCC' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>";
                 echo "<span class='td'></span> <span class='body'></span>";
    
    	     echo "<table border='0' bgcolor='#000000'> ";
                 echo "<tr>    ";
    
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>id-uausuari</td>";
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>Login</td>";
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>Senha</td>";
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>email</td>";
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>nm-usuario</td>";
    
                 echo "</tr> ";
    
    // escreve um registro (linha) enquanto não chegar no fim do vetor Resultado
        
     while ($row=odbc_fetch_array($resultado)) {
    	?>
        <tr bgcolor='#E0EEE0'>
           <td align="center"> 
            <?php 
                  echo odbc_result($resultado,"id-uausuari");     ?>                                   
            </td>
    	     
          <td align="center">
            <?php 
                 echo odbc_result($resultado,"login");         ?>
            </td> 
    
          <td align="center">
            <?php 
                 echo odbc_result($resultado,"senha"); ?> 
            </td> 
    
          <td align="center">
            <?php 
                 echo odbc_result($resultado,"emal"); ?>
            </td>
    
          <td align="center">
            <?php 
                 echo odbc_result($resultado,"nm-usuario") ?>
            </td>		
    	  
        </tr>
    
    
    
    
        <?php
    	;}	  
            echo "</table>";
            echo "<br>";		  
    	}
    	else{
    	echo "Deu merda!!!!";
    	}
            odbc_close($conexao);
    	?>
      
    <?
     
    
     
    ?>
    </html>
    obrigado
  5. rhemati

    rhemati Membro Participativo

    Meu caro segue abaixo o que eu adaptei a minha realidade aproveitando o seu e funcionou.

    Código:
    <html>
    
    <?php
    
    
    // instrução SQL que busca o usuário no banco
       //$sql = "SELECT \"uausuari\".\"id-uausuari\",
    //        \"uausuari\".\"login\",
      //      \"uausuari\".\"senha\",
        //    \"uausuari\".\"nm-usuario\",
          //  \"uausuari\".\"email\" FROM PUB.\"uausuari\" ";        
    		
    	$sql = "select cidade, estado, agencia, bairro, cep from PUB.emitente where PUB.emitente.cidade='goiania'";
    
    
      $conexao = odbc_connect("ems2cad","SYSPROGRESS","super",SQL_CUR_USE_ODBC)
            or die ("Não foi possivel conectar com o Banco!!!");
    
    
    if($conexao)
    {
       // executando a instrução SQL
       $resultado = odbc_exec($conexao,$sql);
       
                  echo "<html>";
                 echo "<head>";
                 //echo "<body bgcolor='#FFFFCC' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'>";
                 echo "<span class='td'></span> <span class='body'></span>";
    
            echo "<table border='0' bgcolor='#000000'> ";
                 echo "<tr>    ";
    
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>cidade</td>";
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>estado</td>";
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>agencia</td>";
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>bairro</td>";
                 echo "<td bgcolor='#006400'><font color='#FFFFFF'>cep</td>";
    
                 echo "</tr> ";
    
    // escreve um registro (linha) enquanto não chegar no fim do vetor Resultado
        
    while ($row=odbc_fetch_array($resultado)) {
       ?>
        <tr bgcolor='#E0EEE0'>
           <td align="center"> 
            <?php 
                  echo odbc_result($resultado,"cidade");     ?>                                   
            </td>
            
          <td align="center">
            <?php 
                 echo odbc_result($resultado,"estado");         ?>
            </td> 
    
          <td align="center">
            <?php 
                 echo odbc_result($resultado,"agencia"); ?> 
            </td> 
    
          <td align="center">
            <?php 
                 echo odbc_result($resultado,"bairro"); ?>
            </td>
    
          <td align="center">
            <?php 
                 echo odbc_result($resultado,"cep") ?>
            </td>      
         
        </tr>
    
    
    
    
        <?php
       ;}     
            echo "</table>";
            echo "<br>";        
       }
       else{
       echo "Deu merda!!!!";
       }
            odbc_close($conexao);
       ?>
      
    <?
    
    
    
    ?>
    </html>
    
    

    Arquivos Anexados:

  6. asbahr

    asbahr Membro Participativo

    sabe o que é pior.

    Adaptei o seu codigo tb pra minha realidade e me tras certinho a quantidade de registro que tem na tabela. Que sinistro não?

Compartilhe esta Página