Queridos Linuxeros:
A ver... después de pelearme otro rato con el unixODBC resulta que
obtengo un comportamiento extraño.
Estado actual:
Tengo finalmente una configuración que parece funcionar.
En /etc/odbc.ini tenemos
[ODBC]
Trace = Yes
TraceFile = /tmp/sql.log
ForceTrace = No
Pooling = Yes
[MySQL]
Description = Driver de ODBC para MySQL
Driver = /usr/lib/libmyodbc3.so
Setup =
FileUsage = 2
CPTimeout = 3
CPReuse = 2
En /etc/odbcinst.ini tenemos:
[myodbc3]
Driver = /usr/lib/libmyodbc3.so
Description = MySQL ODBC 3.51 Driver DSN
SERVER = localhost
PORT = 3306
USER = yuserneim
Password = P4SsGu0r
Database = test
OPTION = 3
SOCKET =
Y en mi archivo de ejemplo tenemos:
?php
$DSN = "Driver=MySQL;Server=localhost;Database=test";
$conn=odbc_connect($DSN,'yuserneim','P4SsGu0r');
if (odbc_error() && strlen(chop(trim(odbc_error())))>0) {
echo odbc_errormsg();
die('<p>Unable to connect to the database server at this
time.</p>');
}
else {
echo "<p>Ya me conecte</p>";
$cur=odbc_exec($conn,"SELECT * FROM user");
while (odbc_fetch_row($res)) {
echo "<p>".odbc_result($cur,0)." -
".odbc_result($cur,1)."</p>\n";
}
}
?>
Y bueno.. al menos no me manda ningún tipo de error al STDOUT
(navegador). Y checando el /tmp/sql.log tampoco muestra alguna clase de
error pues la salida dice:
[ODBC][2986][__handles.c][399]
Exit:[SQL_SUCCESS]
Environment = 0x81f16d8
[ODBC][2986][SQLAllocHandle.c][328]
Entry:
Handle Type = 2
Input Handle = 0x81f16d8
[ODBC][2986][SQLAllocHandle.c][448]
Exit:[SQL_SUCCESS]
Output Handle = 0x81f1c68
[ODBC][2986][SQLDriverConnect.c][600]
Entry:
Connection = 0x81f1c68
Window Hdl = (nil)
Str In =
[Driver=MySQL;Server=localhost;Database=mysql;UID=root;PWD=******][length
= 63]
Str Out = 0xbfff7e80
Str Out Max = 300
Str Out Ptr = 0xbfff7e7e
Completion = 0
UNICODE Using encoding ASCII 'ISO8859-1' and UNICODE
'UCS-2LE'
Pero oh sorpresa.... a la hora de que ejecuto el script de php
sencillamente no me muestra nada :/ no hace nada.. contacta al
webserver.. pero pues ya no manda ningúna clase de mensaje.. ni de error
ni prosigue la ejecución... me supongo que el parser de PHP está
tronando como ejote.. pues por los logs y la ausencia de mensajes de
error me indican que no es problema del ODBC..
Sugerencias?
Saluditos geeks
--
When we have enough free software
At our call, hackers, at our call,
We'll throw out those dirty licenses
Ever more, hackers, ever more.