#24752 [Csd->Opn]: unknown column type "uniqueidentifier", type 35

From: Date: Mon, 23 Aug 2004 19:23:34 +0000
Subject: #24752 [Csd->Opn]: unknown column type "uniqueidentifier", type 35
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-65119@lists.php.net to get a copy of this message
ID: 24752 User updated by: ssc at coolspot dot de -Reported By: s dot sonnenberg at coolspot dot de +Reported By: ssc at coolspot dot de -Status: Closed +Status: Open Bug Type: MSSQL related Operating System: Linux -PHP Version: 4.3.2 +PHP Version: 4.3.8 New Comment: Open again dudes. Is there somebody who needs lessons in CVS usage, or what ? Previous Comments: ------------------------------------------------------------------------ [2004-08-12 18:52:08] zakharm at hotmail dot com I see that the following is in ext/mssql/php_mssql.h: #ifdef SQLUNIQUE /* FreeTSD 0.61+ */ #define SQLUNIQUE SYBUNIQUE #endif When configuring PHP via ./configure, is there a parameter I can send to configure to enable SQLUNIQUE? I did get it working by removing the #ifdef & #endif, but is there another way? My configuration: freedts ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 php ./configure --with-mssql=/usr/local/freetds --with-regex=php --with-config-file-path=/etc/php4/apache --disable-rpath --enable-memory-limit --disable-debug --with-layout=GNU --with-pear=/usr/share/php --with-mysql=shared --with-apxs=/usr/bin/apxs ------------------------------------------------------------------------ [2004-06-08 15:44:31] dave at daveonline dot com I am having a simular issue, however I am getting type (36) unknown and not 35. The SQl server is Enterprise 2000. and the field is a uniqueidentifier type. here is a line from the error: Warning: mssql_query(): column 14 has unknown data type (36) in /opt/mysql-standard-4.0.18-pc-linux-i686/scripts/test.php on line 34 and here is the conf file -------------------------------------------- [global] # TDS protocol version tds version = 8.0 ; initial block size = 512 # uses some fixes required for some bugged MSSQL 7.0 server that # return invalid data to big endian clients # NOTE TDS version 7.0 or 8.0 should be used instead ; swap broken dates = no ; swap broken money = no # Database server login method, if both server and domain # logins are enabled, domain login is tried first if a domain # is specified, and if that fails the server login will be used. # OBSOLETE ; try server login = yes ; try domain login = no # The default authentication domain, can be overridden by # specifying a username with a domain prefix, e.g. DOMAIN\username # OBSOLETE use DOMAIN\username as username ; nt domain = WORKGROUP # If the server responds with different domain try that one? # OBSOLETE never been used ; cross domain login = no # Whether to write a TDSDUMP file for diagnostic purposes # (setting this to /tmp is insecure on a multi-user system) ; dump file = /tmp/freetds.log ; debug level = 10 # Command and connection timeouts ; timeout = 10 ; connect timeout = 10 # If you get out of memory errors, it may mean that your client # is trying to allocate a huge buffer for a TEXT field. # (Microsoft servers sometimes pretend TEXT columns are # 4 GB wide!) If you have this problem, try setting # 'text size' to a more reasonable limit text size = 64512 [testserver] host = <<DELETED>> port = 1433 tds version = 8.0 ------------------------------------------------------------------------ [2004-02-25 03:04:03] s dot sonnenberg at coolspot dot de I use exactly the combination : PHP 4.3.4 + FreeTDS 0.61.2. And we have no such problems. Could you please send your configure strings ? ------------------------------------------------------------------------ [2004-02-20 11:54:47] rgesse at ndigital dot com I ran into the same problem wih the latest version of PHP and Freetds (as of Feb. 18, 2004). I found that the only way to SELECT from a uniqueidentifier field is the following: SELECT LEFT(CAST(uniqueidentifierfield as char(64)), 36) AS thisfield FROM table ------------------------------------------------------------------------ [2003-07-23 11:56:21] iliaa@php.net This bug has been fixed in CVS. In case this was a PHP problem, snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. In case this was a documentation problem, the fix will show up soon at http://www.php.net/manual/. In case this was a PHP.net website problem, the change will show up on the PHP.net site and on the mirror sites in short time. Thank you for the report, and for helping us make PHP better. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/24752 -- Edit this bug report at http://bugs.php.net/?id=24752&edit=1

« previous php.bugs (#65119) next »