[freetds] FreeTDS with PHP On Solaris

Frank M. Kromann frank at kromann.info
Thu Aug 10 15:34:33 EDT 2006


Hi Ryan,

I would try to compile FreeTDS without --enable-sybase-compat and then
compile PHP unsing --with-mssql. That will give you access to all the
mssql_* functions. The sybase extension only implements a few mssql_*
aliases.

Upgrading PHP to the 5.1.x branch would also be a good idea but that has
nothing to do with your problem.

- Frank

> Hello all!
>  
> I am having trouble with my installation of FreeTDS running on my
> Solaris box.  Here is my configuration:
>  
> Microsoft SQL: Version Microsoft SQL Server Release 8.0
>  
> Solaris 9
> Kernel: Generic_117171-07
>  
> FreeTDS 0.64
>     CONFIGURE: configure --prefix=/usr/local/freetds --enable-msdblib
> --enable-sybase-compat --with-openssl=/usr/local/ssl
>  
> PHP 5.0.4
>     CONFIGURE: configure --prefix=/usr/local/php-5.0.4
> --with-sybase=/usr/local/freetds
> --with-apache=/export/build/apache_1.3.27 --with-openssl=/usr/local/ssl
> --with-mysql=/usr/local/mysql
>  
> Apache 1.3.27
>     CONFIGURE: configure --prefix=/usr/local/apache
> --activate-module=src/modules/php5/libphp5.a
>  
> I have created my /usr/local/freetds/interfaces file, and set my
> environment variables... I can run TSQL tests and get the 1> prompt
> every time.  I can write basic PHP queries to get data and display it 
>  
> EXAMPLE (Working):
>  
> $sql = "SELECT NewHireNBID, ConfUserFName, ConfUserLName from NewHire
> WHERE RequestID = '123386'"
>  
> print("NOTE: executing $sql<br>");
> $result=mssql_query($sql, $con);
> print("NOTE: done executing $sql<br>");
>  
> As you can see I am not doing anything with the data yet, just simply
> printing when I begin and printing when I finish the query...
>  
> I know there are 19783 entries in this table... When I try to get any
> more specific than one row the query never finishes... 
>  
> EXAMPLE (Not working):
>  
> $sql = "SELECT NewHireNBID, ConfUserFName, ConfUserLName from NewHire
> WHERE RequestID BETWEEN '123386' AND '123419'"
>  
> print("NOTE: executing $sql<br>");
> $result=mssql_query($sql, $con);
> print("NOTE: done executing $sql<br>");
>  
> Now, I have run this query against the DB and I should get 3 rows
> back... however this query will just sit... and sit... until it
> eventually times out...  I have read the documentation regarding slow
> response... I have checked for the dump file, and it's configuration...
> just to make sure I wasn't missing anything I set it up to dump
thinking
> I might find something useful... It works, the dump file gets to like
> 40+mb I stop the query... I don't feel DNS is an issue as it works just
> fine for a specific query... Plus I can forward and reverse the server
> form this host all day with no issues...
>  
> Here a snapshot of what I get in the log file:
>  
> dblib.c:1433:dbnextrow()
> dblib.c:1447:dbnextrow() dbresults_state = 2
> dblib.c:1509:leaving dbnextrow() returning -3
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 7
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 7
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 6
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 6
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 5
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 5
> dblib.c:1433:dbnextrow()
> dblib.c:1447:dbnextrow() dbresults_state = 2
> dblib.c:1509:leaving dbnextrow() returning -3
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 7
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 7
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 6
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 6
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 5
> dblib.c:2480:dbdatlen() type = 39
> dblib.c:2486:leaving dbdatlen() returning 5
>  
> I am stuck as to what I should look at next? It works fine on the
simple
> query but not anything that returns more than one row... 
>  
> Any ideas? 
>  
> -Ryan
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
> 






More information about the FreeTDS mailing list