Jazara 3 Denunciar post Postado Junho 9, 2014 Olá pessoal, consegui criar a conexão do Oracle via php, porém não consigo dar um select , não sei nem como criar. Gostaria de: - um comando equivalente a mysql_num_rows($sql); - Um comando equivalente a mysql_fetch_array($sql); Se houver um tutorial online, para estudo, pois só sei usar mysql... Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 9, 2014 http://imasters.com.br/banco-de-dados/oracle/utilizando-php-pdo-e-oracle/ Não trabalho com PHP mas vi este artigo recentemente, talvez te ajude. Compartilhar este post Link para o post Compartilhar em outros sites
Jazara 3 Denunciar post Postado Junho 17, 2014 Consegui a conexão e sei que está quase certo a configuração: echo $BANCO="SELECT * FROM PORT_CLIENTES"; $stat = oci_parse($conn, $BANCO); oci_execute($stat,OCI_DEFAULT); $Cl= oci_fetch_array($stat, OCI_ASSOC+OCI_RETURN_NULLS); $ESTOQUE=0; while ($Cl) { $ESTOQUE++; } echo $ESTOQUE; Porém estou recebendo esta resposta e não sei como resolver Warning: oci_execute(): ORA-01843: not a valid month in C:\xampp\htdocs\brascol\teste\teste.php on line 47 Warning: oci_fetch_array(): ORA-24374: define not done before fetch or execute and fetch in C:\xampp\htdocs\brascol\teste\teste.php on line 49 0 Compartilhar este post Link para o post Compartilhar em outros sites
cdfree 3 Denunciar post Postado Junho 18, 2014 Você quer um select ou insert? Este exemplo consulta e exibir: <?php $user = 'system';$password = 'XXXXXX'; // sua senha$conn = oci_connect("$user","$password","localhost/XE");$stid = oci_parse($conn, "ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '. ,'");oci_execute($stid, OCI_DEFAULT);$conn = oci_pconnect("custo_ti","200230","localhost/XE");$stid = oci_parse($conn,"SELECT * FROM demanda");oci_execute($stid, OCI_NO_AUTO_COMMIT);while (($row = oci_fetch_array($stid, OCI_BOTH)) != false) { echo $row[0]; }?> Compartilhar este post Link para o post Compartilhar em outros sites
Jazara 3 Denunciar post Postado Junho 18, 2014 Mudei para linha de comando para de PDO, porém até consigo gerar a listagem, contar campos, porém todos os campos estão vazios, não consigo chamar as informações. O manual é confuso e limitado e os exemplos web estão muito difíceis de achar algo explicativo... <?php $user = "xxx"; $pass = "xxx"; $name = "xxx"; $host = "xxx"; //NÃO ALTERE NADA DESTE LINHA, NEM MESMO ESPAÇOS $tns = " (DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP) (HOST = ".$host.")(PORT = 1521)))(CONNECT_DATA = (SID = ".$name.")))"; $pdo = new PDO("oci:dbname=".$tns,$user,$pass); if(!$pdo){ die('Erro ao criar a conexão'); } else{ echo "conectado -> ".date("H:i:s"); echo"<br>"; } //Leitura do conteúdo $query = $pdo->prepare("SELECT * FROM PORT_CLIENTES"); $query->execute(); $row = $query->fetch(); $total = count( $row ); for($i=0; $i<$total; $i++){ echo $i."<br/>"; echo"- ".$row["NR_SEQUENCIA"]." "; echo"- ".$row['CD_CLIENTE']." "; echo"- ".$row['NM_PESSOA']."<br/>"; echo"- ".$row['TP_PESSOA']." "; echo"- ".$row['IN_INATIVO']." "; echo"- ".$row['NR_CNPJ']."<br/>"; echo"- ".$row['NR_INSCESTL']." "; echo"- ".$row['NR_CPF']." "; echo"- ".$row['NR_RG']."<br/>"; echo"- ".$row['VL_FATORLIMITE']." "; echo"- ".$row['CD_CEP']." "; echo"- ".$row['NM_LOGRADOURO']."<br/>"; echo"- ".$row['NR_LOGRADOURO']." "; echo"- ".$row['DS_COMPLEMENTO']." "; echo"- ".$row['DS_REFERENCIA']."<br/>"; echo"- ".$row['NR_CAIXAPOSTAL']." "; echo"- ".$row['DS_BAIRRO']." "; echo"- ".$row['NM_MUNICIPIO']."<br/>"; echo"- ".$row['DS_SIGLAESTADO']." "; echo"- ".$row['NM_PAIS']." "; echo"- ".$row['CD_GUIA']."<br/>"; echo"- ".$row['CD_VENDEDOR']." "; echo"- ".$row['CD_REPRESENTANTE']." "; echo"- ".$row['DS_EMAIL']."<br/>"; echo"- ".$row['OBS_ENTRADA']; echo"<br><br/>"; } echo "<br> Resultados obtidos $i"; echo"<br>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 18, 2014 http://imasters.com.br/banco-de-dados/oracle/utilizando-php-pdo-e-oracle/ Este artigo ajuda em algo ? Compartilhar este post Link para o post Compartilhar em outros sites
Jazara 3 Denunciar post Postado Junho 25, 2014 Não... cheguei a listagem porém só vem dados repetidos, não consigo pegar cada uma das informações Compartilhar este post Link para o post Compartilhar em outros sites
Jazara 3 Denunciar post Postado Junho 26, 2014 Obrigado a todos que tentaram colaborar, consegui chegar ao resultado com OCI_ em PDO não rola para conversar com Oracle.Os problemas que estava enfrentando eram ligados do lado do pessoal do Banco Oracle que em sua view criava uma regra ou condição na data do banco e então tínhamos conflito de leitura de datas no php, a solução foi deixar a impressão livre de todas as datas na view e do lado do PHP sim setar a data no formato do banco Oracle com a regra de impressão só da data atual. Abaixo o script espero que ajude o pessoal. <?php error_reporting(E_ALL); ini_set("display_errors", 1); ini_set('memory_limit', '64M'); // CONFIG $ppq = 500; $oracleUser = "xxxx"; $oraclePass = "xxxx"; $oracleHost= "xxxx"; $oracleNomeBD = "xxxx"; error_reporting(E_ALL|E_STRICT); ini_set('display_errors', '1'); $mensagens = array(); // TEMPO DE INICIO DO PROCESSO $TIME_INI = time(); echo "INICIANDO PROCESSO DE EXPORTAÇÃO<br>\n"; echo "--------------------------------<br>\n"; // CONFIG TNS $ora_bd = "(DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP) (HOST=$oracleHost)(PORT=1521) ) ) (CONNECT_DATA=(SERVICE_NAME=$oracleNomeBD)) )"; // FAZ A CONEXÃO COM O ORACLE if ($conn = oci_connect($oracleUser,$oraclePass,$ora_bd)){ echo "conexao efetuada<br>\n"; }else { echo "0040 - ERRO AO CONECTAR-SE AO ORACLE"; array_push($mensagens, "0040 - ERRO AO CONECTAR-SE AO ORACLE"); } // SELECIONA OS PRODUTOS PARA INCLUSÃO NO TXT $SQL = "SELECT * from PORT_CLIENTES WHERE dt_movimento = '".date("d/M/Y")."'"; $stat = oci_parse($conn, $SQL); oci_execute($stat); $posicao=0; while ($row= oci_fetch_array($stat, OCI_ASSOC+OCI_RETURN_NULLS)) { $posicao++; echo"<div style='width:3000px;'>"; echo"- ".$row['NR_SEQUENCIA']." "; echo"- ".$row['DT_MOVIMENTO']." "; echo"- ".$row['CD_CLIENTE']." "; echo"- ".$row["NM_PESSOA"]; echo"- ".$row['TP_PESSOA']." "; echo"- ".$row['IN_INATIVO']." "; echo"- ".$row['NR_CNPJ'].""; echo"- ".$row['NR_INSCESTL']." "; echo"- ".$row['NR_CPF']." "; echo"- ".$row['NR_RG'].""; echo"- ".$row['VL_FATORLIMITE']." "; echo"- ".$row['CD_CEP']." "; echo"- ".$row['NM_LOGRADOURO'].""; echo"- ".$row['NR_LOGRADOURO']." "; echo"- ".$row['DS_COMPLEMENTO']." "; echo"- ".$row['DS_REFERENCIA'].""; echo"- ".$row['NR_CAIXAPOSTAL']." "; echo"- ".$row['DS_BAIRRO']." "; echo"- ".$row['NM_MUNICIPIO'].""; echo"- ".$row['DS_SIGLAESTADO']." "; echo"- ".$row['NM_PAIS']." "; echo"- ".$row['CD_GUIA'].""; echo"- ".$row['CD_VENDEDOR']." "; echo"- ".$row['CD_REPRESENTANTE']." "; echo"- ".$row['DS_EMAIL'].""; echo"- ".$row['OBS_ENTRADA']; echo"</div>"; } echo"Atualizado:".date("H:i:s")." - Linhas $posicao"; /* FUNCIONAL EM 26-06-2014 */ ?> Compartilhar este post Link para o post Compartilhar em outros sites