Sybase SQL Anywhere - Conectar Sybase con PHP

   
Vista:

Conectar Sybase con PHP

Publicado por Esteban (2 intervenciones) el 19/02/2014 22:25:55
Hola,

Necesito conectar la base de datos de SYBASE con PHP.
Tengo un script pero no me funciona, me marca este error:
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado, SQL state IM002 in SQLConnect

Este es el script:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Configure connection parameters
  $db_host        = "server.mynetwork";
  $db_server_name = "Dev_Server";
  $db_name        = "Dev_Data";
  $db_file        = 'c:\dbstorage\dev.db';
  $db_conn_name   = "php_script";
  $db_user        = "dbuser";
  $db_pass        = "dbpass";
 
//================================================================
  $connect_string = "Driver={Adaptive Server Anywhere 8.0};".
                    "CommLinks=tcpip(Host=$db_host);".
                    "ServerName=$db_server_name;".
                    "DatabaseName=$db_name;".
                    "DatabaseFile=$db_file;".
                    "ConnectionName=$db_conn_name;".
                    "uid=$db_user;pwd=$db_pass";
 
  // Connect to DB
  $conn = odbc_connect($connect_string,'','');

Alguien me puede ayudar con esto, gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Conectar Sybase con PHP

Publicado por xve (5 intervenciones) el 20/02/2014 08:37:56
Hola Esteban, puede ser que no tengas el driver "Adaptive Server Anywhere 8.0"?
Lo digo por el error que te da, que es como si el odbc no tuviera ese driver... has mirado en la configuración del ODBC->Drivers si te aparece?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar Sybase con PHP

Publicado por Esteban (2 intervenciones) el 20/02/2014 19:25:15
¿Donde puedo checar si tengo el driver "Adaptive Server Anywhere 8.0"? Lo estoy conectado con PHP necesito alguna clase?

Saludos, muchas gracias de antemano!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Conectar Sybase con PHP

Publicado por xve (5 intervenciones) el 20/02/2014 20:29:09
va por ODBC, por lo que PHP no tiene que tener ningun driver, sino que lo tiene que tener el ODBC.

has mirado en la configuración del ODBC->Drivers si te aparece?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar Sybase con PHP

Publicado por Leopoldo Taylhardat (82 intervenciones) el 27/02/2014 00:50:38
Saludos...

Despues de dias de dias de dias..... logré desarrollar php con ASA...
-------
Aquí tienes la conexión y un pequeño ejemplo de proceso de consulta generando una tabla en html (desde PHP)...
POR SUPUESTO NECESITAS TENER INSTALADO EL ODBC EN EL SERVIDOR WEB que apunte a la BD
------
odbc_connect('NOMBRE EL ODBC','USUARIO','PASSWD');
MiODBC es el nombre del ODBC instalado para conexión a la BD (en el ejemplo).
Usuario y passwd en el caso que te paso es el dba standard de ASA....
----Variables del ejemplo
$MAT es una variable con el código de la materia que quiero consultar...
$ced es la cedula donde almaceno el número del estudiante (para Venezuela identificamos con CEDULA DE IDENTIDAD que es el documento oficial de identificación)
$nom es el nombre del estudiante
-------
...aquí el PHP puro....
------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
$conn=odbc_connect('MiODBC','dba','sql');
if (!$conn)
  {exit("Connection Failed: " . $conn);}
$sql="SELECT DBA.ESTUDIANTE.CEDULA_ESTUDIANTE AS CEDULA,
         DBA.ESTUDIANTE.nombre_apellido AS NOMBRE
    FROM DBA.MATERIA_PREINSCRIPCION,
         DBA.ESTUDIANTE  
   WHERE ( DBA.MATERIA_PREINSCRIPCION.CEDULA_ESTUDIANTE = DBA.ESTUDIANTE.CEDULA_ESTUDIANTE ) and
         (  DBA.MATERIA_PREINSCRIPCION.CODI_MATERIA = $MAT ) 
           ORDER BY CEDULA ASC;";
$rs=odbc_exec($conn,$sql);
if (!$rs)
  {exit("Error in SQL");}
echo "<table>MATERIA: $MAT<tr>";
echo "<th>Cédula</th>";
echo "<th>Nombre</th></tr>";
$per_ant='';
while (odbc_fetch_row($rs))
  {
  $ced=odbc_result($rs,"CEDULA");
  $nom=odbc_result($rs,"NOMBRE");
  echo "<tr><td align=\"center\">$ced</td>";
  echo "<td align=\"center\">$nom</td></tr>";
  }
odbc_close($conn);
?>
</table>
----------
Estoy seguro que te servirá...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Conectar Sybase con PHP

Publicado por xve (5 intervenciones) el 27/02/2014 10:05:24
Muy bueno Leopoldo... gracias por compartirlo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar Sybase con PHP

Publicado por Leopoldo Taylhardat (82 intervenciones) el 28/02/2014 12:21:19
Saludos...

Te comento... tienes que tener cuidado con como se instaló el ASA...

El ASA se puede instalar que haya o nó diferencia entre mayúsculas y minúsculas...
Es decir...
En algunas instalaciones no es lo mismo "nombre" que "NOMBRE" o no te lee la
tabla porque está creada en mayúscula y tu haces el SQL en minúscula, etc...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Conectar Sybase con PHP

Publicado por Leopoldo Taylhardat (82 intervenciones) el 28/02/2014 12:44:58
Saludos...
Esto que se vé tan simple me llevo un par de meses de investigación y pruebas...

La próxima consulta.... hay que pagar!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar Sybase con PHP

Publicado por nehemias (3 intervenciones) el 10/07/2015 01:42:47
hola me gustaría que me ayuden a corregir esto .
<?php
$link = sybase_connect('Sybase', 'DBA', '1234');
sybase_select_db("dba");
echo "Conectado satisfactoriamente";
sybase_close($link);
?>


me sale esto:
Fatal error: Call to undefined function sybase_connect() in C:\xampp\htdocs\trabajodba\conexion.php on line 2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Conectar Sybase con PHP

Publicado por xve (5 intervenciones) el 10/07/2015 08:56:13
Hola Nehemias, no se que sistema operativo estas utilizando, pero tienes que instalar o activar la librería sybase...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar Sybase con PHP

Publicado por nehemias (3 intervenciones) el 10/07/2015 14:45:04
utilizo windows 7 ultimate 64 bits (6.1, compilación 7600),
el sybase es 16.0, y el xampp es 3.2.1.
Gracias por su ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Conectar Sybase con PHP

Publicado por nehemias (3 intervenciones) el 10/07/2015 16:36:22
y el PHP que utilizo es 5.6.3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar