Windows 64 Caveats with ODBC
I'm pretty sure PHP only accesses the 32-bit ODBC stuff on Windows 64. Therefore, you will need to configure your ODBC DSNs via the Data Source Administrator found at:
/WINDOWS/SysWOW64/odbcad32.exe
ODBC Functions
Table of Contents
- odbc_autocommit — Interruptor de comportamiento de auto-entrega
- odbc_binmode — Manejo de campos de datos binarios
- odbc_close_all — Cierra todas las conexiones ODBC
- odbc_close — Cierra una conexion ODBC
- odbc_columnprivileges — Lists columns and associated privileges for the given table
- odbc_columns — Lists the column names in specified tables
- odbc_commit — Entrega una transaccion ODBC
- odbc_connect — Conecta a una fuente de datos
- odbc_cursor — Toma un nombre de cursor
- odbc_data_source — Returns information about a current connection
- odbc_do — sinonimo de odbc_exec
- odbc_error — Get the last error code
- odbc_errormsg — Get the last error message
- odbc_exec — Prepara o ejecuta una declaracion SQL
- odbc_execute — ejecuta una declaracion preparada
- odbc_fetch_array — Fetch a result row as an associative array
- odbc_fetch_into — Busca un registro de resutados dentro de un vector
- odbc_fetch_object — Fetch a result row as an object
- odbc_fetch_row — Busca un registro
- odbc_field_len — Da la longitud de un campo
- odbc_field_name — Devuelve el nombre de campo
- odbc_field_num — Devuelve el numero de campo
- odbc_field_precision — Alias of odbc_field_len
- odbc_field_scale — Get the scale of a field
- odbc_field_type — Tipo de datos de un campo
- odbc_foreignkeys — Retrieves a list of foreign keys
- odbc_free_result — recursos libres asociados con un resultado
- odbc_gettypeinfo — Retrieves information about data types supported by the data source
- odbc_longreadlen — manejo de LONGITUD de columnas
- odbc_next_result — Checks if multiple results are available
- odbc_num_fields — numero de campos de un resultado
- odbc_num_rows — Numero de campos en un resultado
- odbc_pconnect — Abre una conexion permanente de base de datos
- odbc_prepare — Prepara una declaracion para su ejecucion
- odbc_primarykeys — Gets the primary keys for a table
- odbc_procedurecolumns — Retrieve information about parameters to procedures
- odbc_procedures — Get the list of procedures stored in a specific data source
- odbc_result_all — Print result as HTML table
- odbc_result — coge informacion de un campo
- odbc_rollback — Volver a pasar una transacion
- odbc_setoption — Ajusta la configuracion de ODBC. Devuelve FALSE en caso de error, en otro caso TRUE.
- odbc_specialcolumns — Retrieves special columns
- odbc_statistics — Retrieve statistics about a table
- odbc_tableprivileges — Lists tables and the privileges associated with each table
- odbc_tables — Get the list of table names stored in a specific data source
ODBC Functions
chaz_meister_rock at yahoo dot com
29-Aug-2007 08:54
29-Aug-2007 08:54
11-Oct-2006 04:28
I had big performance problems retrieving data form MS SQL Server with odbc only when the query was unsing a join.
I found out, that I had to connect with the cursor-type "SQL_CUR_USE_ODBC" and everything was ok:
$conn = odbc_connect("ShopLive", 'shop', 'xxx', SQL_CUR_USE_ODBC);
sven at ajaxtechforums dot com
28-Feb-2006 12:07
28-Feb-2006 12:07
I found this to be a perfect alternative to the MaxDB special drivers of version 7.5.00. Just weren't that easy to install on *nix. Windows seems fine. Anyway The ODBC is a perfect alternative for connecting the SAPDB/MaxDB towards PHP.
Installation guide for the odbc alternative (instead of the MAXDB-php driver) can be found here:
http://maxdb.yapabout.com/viewtopic.php?t=21
xangelusx at hotmail dot com
11-Nov-2005 04:45
11-Nov-2005 04:45
If you receive an error stating "Connection is busy with results for another hstmt, SQL state S1000 in SQLExecDirect" try opening your odbc connection using the SQL_CURSOR_FORWARD_ONLY option
<?php
$db_link = odbc_connect($dsn, $username, $password, SQL_CURSOR_FORWARD_ONLY)
or die('Error connecting to server. Server says: '.htmlspecialchars(odbc_errormsg()));
?>
Quickdraw
05-May-2005 08:06
05-May-2005 08:06
In response to Holger's comment about using @@identity:
Be carefull. If the table you're inserting into has a trigger that also inserts into another table that has an identity column you'll get the key of that other table! use scope_identity() instead of @@identity
05-May-2005 05:14
I searched for the solution of why odbc connection of a network remote drive under Windows + Apache 2.0.X, cannot give the query, but seems no one provides the solution.
In fact, it is very simple.
Go to Control Panal -> Services;
Find and double click "Apache2";
In the page of "Log On", choose Log on as "This account" and give an account in the web server system which have the right to control the network remote drive;
Finally, restart Apache, and that's it.
denials at gmail dot com
24-Jan-2005 12:05
24-Jan-2005 12:05
Ever wonder why you're experiencing really slow data retrieval times using IBM DB2 Universal Database for Linux, UNIX, and Windows? The default cursor type used by Unified ODBC is not supported by DB2, so it gets downgraded to a forward-only cursor -- and that negotiation occurs with every row fetch.
One way to force your PHP applications to use forward-only cursors is to modify your DB2 client configuration with a handy CLI patch2 setting value of 6:
$ db2 UPDATE CLI CONFIGURATION FOR SECTION dbname USING patch2 6
You have to update this client setting on the same machine on which you are running the PHP application. This works on Windows operating systems as well as on Linux & UNIX operating systems.
I ran a few basic benchmarks (fetch 10,000 rows consisting of 3 INTEGER columns from a remote database server) and concluded that this setting can make a major difference to your application speed:
Without CLI patch2 setting: ~22 seconds
With CLI patch2 setting: ~ 1.75 seconds
Note that the drawback of using this patch setting (or any other method of using forward-only cursors) makes odbc_num_rows() always return "-1" for the number of rows affected by a SELECT statement.
pascals at NOSPAM dot pobox dot com
28-Feb-2004 12:15
28-Feb-2004 12:15
If the bundled ODBC library stumbles on some field formats (like some REAL from Pervasive.SQL), have a look at http://odbtp.sourceforge.net/.
After many headaches, I have adoped odbtp: it's a very solid library and best of all it's not tied to a particular OS.
vbwebprofi at gmx dot de
04-Nov-2003 01:31
04-Nov-2003 01:31
On my search for a function to retriew the NewID of an inserted row wich has an autoincrement I found this solution like the mysql_insert_id for an ODBC connection to MS-Access :
<?
// make your connection below
$Connection = odbc_connect(...);
$Result = odbc_exec($Connection, "select @@identity");
$NewID = odbc_result($Result, 1);
odbc_free_result($Result);
// make here all what you want with the NewID
odbc_close($Connection);
?>
In my mind this should also work with MS-SQL-Server and with Sybase - via ODBC and direct (mssql_.../sybase_...).
HTH ...
Regards
Holger
b dot parish at no_spam dot linst dot ac dot uk
14-Aug-2002 05:46
14-Aug-2002 05:46
Accessing a Microsoft SQL Server database from PHP running under Linux:
http://www.phpbuilder.com/columns/alberto20000919.php3?page=4
