Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2012, 14:28
nemasx
 
Fecha de Ingreso: septiembre-2011
Ubicación: Santiago
Mensajes: 8
Antigüedad: 13 años, 2 meses
Puntos: 0
problemas con PHP y ADODB

Hola a todos,

Necesito ayuda plis, el problema es que estoy migrando un codigo de ASP a PHP y para php estamos usando ADODB para crear la coneccion con la base de datos oracle, pero el problema es que las funciones me estan dando problemas, como el MoveNext() por ejemplo, no las reconoce y no se que es lo que pasa..

Les dejo los codigos para que me puedan ayudar plis...

ASP:
Código ASP:
Ver original
  1. <%
  2. Response.ContentType="text/xml"
  3. Response.Write("<?xml version='1.0' encoding='iso-8859-1'?>")
  4. %>
  5. <%
  6. ' SC4Consulta_datos_negocio.asp
  7. ' Generador de XML para las refacturaciones listadas por la consulta de Clientes Opcion Otros Negocios
  8.  
  9. AbreConn()
  10.  
  11. Set RS      = Server.CreateObject("ADODB.Recordset")
  12. NroSuministro   = 2648727' request("suministro")
  13.  
  14. SQL = " SELECT   cor_documento correlativo, "
  15. SQL = SQL &  "              nro_documento nro_documento,"
  16. SQL = SQL &  "          tip_documento tipo_documento,"
  17. SQL = SQL &  "          TO_CHAR (fec_documento, 'dd/mm/yyyy') fecha_emision,"
  18. SQL = SQL &  "          TO_CHAR (fec_vencimiento, 'dd/mm/yyyy') fecha_vencimiento,"
  19. SQL = SQL &  "          tot_documento total, "
  20. SQL = SQL &  "              usuario_aprobador aprobador,"
  21. SQL = SQL &  "              fec_documento fec"
  22. SQL = SQL &  "     FROM nucssb0030 nuc30"
  23. SQL = SQL &  "    WHERE cod_empresa = "&SysEmpresa&" AND nro_suministro = "&NroSuministro&" AND tip_documento = 'ON'"
  24. SQL = SQL &  " UNION"
  25. SQL = SQL &  " SELECT   cor_documento correlativo, "
  26. SQL = SQL &  "              nro_documento nro_documento,"
  27. SQL = SQL &  "          tip_documento tipo_documento,"
  28. SQL = SQL &  "          TO_CHAR (fec_documento, 'dd/mm/yyyy') fecha_emision,"
  29. SQL = SQL &  "          TO_CHAR (fec_vencimiento, 'dd/mm/yyyy') fecha_vencimiento,"
  30. SQL = SQL &  "          tot_documento total, "
  31. SQL = SQL &  "              usuario_aprobador aprobador,"
  32. SQL = SQL &  "              fec_documento fec"
  33. SQL = SQL &  "     FROM hisssb0004"
  34. SQL = SQL &  "    WHERE cod_empresa = "&SysEmpresa&" AND nro_suministro = "&NroSuministro&" AND tip_documento = 'ON'"
  35. SQL = SQL &  " ORDER BY fec DESC"
  36. SET RS      = DBTO.EXECUTE(SQL)
  37.  
  38. Escribe("<registro>")
  39. DO WHILE NOT RS.EOF
  40.     Escribe ("<linea>")
  41.     for i = 0 to RS.fields.Count - 1
  42.         Escribe ("<"&lcase(rs.fields(i).name)&">" & RS(i) & "</"&lcase(rs.fields(i).name)&">")
  43.     next
  44.     Escribe ("</linea>")
  45.     RS.MOVENEXT
  46. LOOP
  47. Escribe("</registro>")
  48. CierraConn()
  49. %>


PHP:
Código PHP:
Ver original
  1. <?php
  2. include ("conn.php");   # INCLUIR CLASE DE CONEXION
  3.  
  4. @header('Content-type: text/xml');
  5. echo("<?xml version='1.0' encoding='iso-8859-1'?>");
  6.  
  7. # DEFINICION DE VARIABLES
  8.  
  9. $i              = "";
  10. $RS             = "";
  11. $fld            = "";
  12. $num_columns    = "";
  13. $NroSuministro  = $_POST['suministro'];
  14. #$consul=       ="";
  15. $SysEmpresa     = 1;  
  16.  
  17.  
  18.  
  19. $SQL = "";
  20. $SQL = $SQL . "SELECT cor_documento correlativo, ";
  21. $SQL = $SQL . "nro_documento nro_documento, ";
  22. $SQL = $SQL . "tip_documento tipo_documento, ";
  23. $SQL = $SQL . "TO_CHAR (fec_documento, 'dd/mm/yyyy') fecha_emision, ";
  24. $SQL = $SQL . "TO_CHAR (fec_vencimiento, 'dd/mm/yyyy') fecha_vencimiento, ";
  25. $SQL = $SQL . "tot_documento total, ";
  26. $SQL = $SQL . "usuario_aprobador aprobador, ";
  27. $SQL = $SQL . "fec_documento fec ";
  28. $SQL = $SQL . "FROM nucssb0030 nuc30";
  29. $SQL = $SQL . "WHERE cod_empresa = ".$SysEmpresa. " " ;
  30. $SQL = $SQL . "AND nro_suministro = ".$NroSuministro." ";
  31. $SQL = $SQL . "AND tip_documento = 'ON' ";
  32. $SQL = $SQL . "UNION ";
  33. $SQL = $SQL . "SELECT   cor_documento correlativo, ";
  34. $SQL = $SQL . "nro_documento nro_documento, ";
  35. $SQL = $SQL . "tip_documento tipo_documento, ";
  36. $SQL = $SQL . "TO_CHAR (fec_documento, 'dd/mm/yyyy') fecha_emision, ";
  37. $SQL = $SQL . "TO_CHAR (fec_vencimiento, 'dd/mm/yyyy') fecha_vencimiento, ";
  38. $SQL = $SQL . "tot_documento total, ";
  39. $SQL = $SQL . "usuario_aprobador aprobador, ";
  40. $SQL = $SQL . "fec_documento fec ";
  41. $SQL = $SQL . "FROM hisssb0004 ";
  42. $SQL = $SQL . "WHERE cod_empresa = ".$SysEmpresa." ";
  43. $SQL = $SQL . "AND nro_suministro = ".$NroSuministro." ";
  44. $SQL = $SQL . "AND tip_documento = 'ON' ";
  45. $SQL = $SQL . "ORDER BY fec DESC ";
  46. #$SQL = $SQL . "SELECT * FROM CCC";
  47. #$SQL = $SQL . "SELECT nombre, direccion FROM CCC";
  48.  
  49. # EJECUTA LA CONSULTA
  50.  
  51. $RS = $DB->Execute($SQL);
  52.  
  53.  
  54. #CUENTA CUANTOS REGISTROS TE TRAJO LA CONSULTA Y LOS GUARDA EN UNA VARIABLE
  55.  
  56. $num_columns = $RS->RecordCount(); /* contamos el total de registros de resultado */
  57.  
  58. echo ("SE OBTUVIERON ".$num_columns . "CAMPOS<br>");  #MUESTRA LA CANTIDAD DE REGISTROS EN UN MENSAJE
  59.  
  60. # CARGA LOS DATOS EN UN BUCLE
  61.  
  62. for ($i=0; $i < $num_columns; $i++) {
  63.   $fld[$i] = $RS->Fields($i);
  64.   echo("MENSAJE"." ".$fld[$i]."OK");
  65. }
  66.  
  67. # ESCRIBE EN EL DOCUMENTO XML
  68.  
  69. echo("<registro>");
  70.  
  71. #RECORRE EL BUCLE
  72.  
  73. while (!$RS->EOF)
  74. {
  75.     echo "<tr>";
  76.   for ($i=0; $i < $num_columns; $i++)
  77. {
  78.   echo "<td>" . $fld[$i]->value . "</td>"; #ESCRIBE EL VALOR DEL REGISTRO EN LA COLUMNA Y FILA CORRESPONDIENTE
  79.  }
  80.   echo "</tr>";
  81. #PASA AL SIGUIENTE REGISTRO
  82.  
  83.  $RS->MoveNext();
  84. }
  85.  
  86.  
  87. #SE CIERRA LA CONEXION
  88.  
  89. $conn->close();
  90.  
  91. #SE LIMPIAN LAS VARIABLES
  92.  
  93. $RS = null;
  94. $conn = null;
  95.  
  96. ?>

Cualquier informacion me la piden :D

Saludos