<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kb.rvmgroup.it/index.php?action=history&amp;feed=atom&amp;title=Accesso_ad_un_database_DB2_via_PHP</id>
	<title>Accesso ad un database DB2 via PHP - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kb.rvmgroup.it/index.php?action=history&amp;feed=atom&amp;title=Accesso_ad_un_database_DB2_via_PHP"/>
	<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Accesso_ad_un_database_DB2_via_PHP&amp;action=history"/>
	<updated>2026-05-05T15:35:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://kb.rvmgroup.it/index.php?title=Accesso_ad_un_database_DB2_via_PHP&amp;diff=4715&amp;oldid=prev</id>
		<title>Gabriele.vivinetto at 17:13, 22 June 2006</title>
		<link rel="alternate" type="text/html" href="https://kb.rvmgroup.it/index.php?title=Accesso_ad_un_database_DB2_via_PHP&amp;diff=4715&amp;oldid=prev"/>
		<updated>2006-06-22T17:13:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Procedimento Generico ==&lt;br /&gt;
&lt;br /&gt;
Il procedimento non è dissimile da quanto faresti su una macchina windows, servono :&lt;br /&gt;
&lt;br /&gt;
# i drivers di connessione ( forniti con il Client Access(tm) di IBM (c) )&lt;br /&gt;
# un server ODBC ( unixODBC in questo caso )&lt;br /&gt;
# php compilato con il supporto unixodbc&lt;br /&gt;
&lt;br /&gt;
procedimento :&lt;br /&gt;
&lt;br /&gt;
# installiamo unicODBC, sia da sorgenti che da precompilato non ci sono problemi&lt;br /&gt;
# installare il Client Access(tm) , scaricandolo dal sito del produttore www.ibm.it ( si deve essere registrati&lt;br /&gt;
# ricompilare php ( se nn lo volete ricompilare basta aggiungere il php-unixodbc )&lt;br /&gt;
&lt;br /&gt;
adesso creiamo il connettore , io ho una macchina dedicata quindi il connettore è universale.&lt;br /&gt;
&lt;br /&gt;
editiamo il file odbc.ini ( è in /etc/ oppure , a seconda delle installazioni in /etc/unixODBC )&lt;br /&gt;
&lt;br /&gt;
cmq ecco qui un esempio :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[NOME_CONNESSIONE]&lt;br /&gt;
Description             = iSeries Access ODBC Driver&lt;br /&gt;
Driver          = iSeries Access ODBC Driver&lt;br /&gt;
System          = HOST_AS400&lt;br /&gt;
Naming          = 0&lt;br /&gt;
DefaultLibraries                = QGPL&lt;br /&gt;
Database                =&lt;br /&gt;
ConnectionType          = 0&lt;br /&gt;
CommitMode              = 2&lt;br /&gt;
ExtendedDynamic         = 1&lt;br /&gt;
DefaultPkgLibrary               = QGPL&lt;br /&gt;
DefaultPackage          = A/DEFAULT(IBM),2,0,1,0,512&lt;br /&gt;
AllowDataCompression            = 1&lt;br /&gt;
LibraryView             = 0&lt;br /&gt;
AllowUnsupportedChar            = 0&lt;br /&gt;
ForceTranslation                = 0&lt;br /&gt;
Trace           = 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L&amp;#039;user e la password sono inutili , dato che la connessione viene aperta da un successivo script php&lt;br /&gt;
&lt;br /&gt;
Per utilizzare il tutto si usano le funzioni odbc di php&lt;br /&gt;
&lt;br /&gt;
per adesso è stato testato su Slackware , Debian, Ubuntu Breezy 32bit, Ubuntu Dapper 32bit. Sarei interessato a qualcuno che potesse fornmirmi il supporto hardware per testare l&amp;#039;install su architetture 64bit&lt;br /&gt;
&lt;br /&gt;
== Particolarità per Ubuntu ==&lt;br /&gt;
&lt;br /&gt;
Distro : Ubuntu 5.10&lt;br /&gt;
Opzioni : pazienza mode Paranoic&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(dico quello che segue presumento che ci sia gia odbc )&lt;br /&gt;
&lt;br /&gt;
1) recuperato iSeries in rpm ...&lt;br /&gt;
&lt;br /&gt;
2) alien -k pacchetto.rpm&lt;br /&gt;
&lt;br /&gt;
3) installato il file deb : dpkg -i nuvo_pacchetto.deb&lt;br /&gt;
&lt;br /&gt;
4) andato in /opt/ibm/iSeriesAccess e dato il cat del file unixodbcregistration&lt;br /&gt;
&lt;br /&gt;
 cat unixodbcregistration &amp;gt; /etc/odbcinst.ini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5) adesso viene la rogna , bisogna installare delle lib di gcc3.3 ( ? approfondiro&amp;#039; ) le libstdc++5&lt;br /&gt;
&lt;br /&gt;
6) fatto questo reload ed è turtto finito.&lt;br /&gt;
&lt;br /&gt;
ho notato che in sistemi debian based, che le lib di iSeresiesAccess fanno fatica ad essere linkate ( non sono capace io, è troppo disumana quell&amp;#039;accrocchio ) per cui ho semplicemente pensato di lincare le lib presenti in /opt/ibm/iSeriesAccess/lib/ in /usr/lib/&lt;br /&gt;
&lt;br /&gt;
== Connessione PHP ==&lt;br /&gt;
&lt;br /&gt;
connessione al db dell&amp;#039;as400&lt;br /&gt;
&lt;br /&gt;
il NOME_DSN è quello precedentemente dichiarato nel file odbc.ini&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// apriamo la connesisone&lt;br /&gt;
$ASdbname=&amp;quot;NOME_DSN&amp;quot;;&lt;br /&gt;
$ASdbuser=&amp;quot;NOME_UTENTE&amp;quot;;&lt;br /&gt;
$ASdbpwd=&amp;quot;PASS_UTENTE&amp;quot;;&lt;br /&gt;
$ASdb=odbc_connect($ASdbname,$ASdbuser,$ASdbpwd) or die (&amp;quot;error&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 // chiudiamo la risorsa allocata&lt;br /&gt;
 odbc_close($ASdb);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
in as400 una query viene fatta in questo modo&lt;br /&gt;
&lt;br /&gt;
 select * libreria/tabella&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
l&amp;#039;inteprete odbc , con &amp;quot;/&amp;quot; darà errore durante il parsing al motore db2. Quindi in php via odbc una query verso una tabella AS400 deve essere fatta sostituendo &amp;quot;/&amp;quot; con &amp;quot;.&amp;quot;, in questo modo&lt;br /&gt;
&lt;br /&gt;
 $query=&amp;quot;select * from libreria.tabella&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
nota sull&amp;#039;odbc_exec():&lt;br /&gt;
&lt;br /&gt;
l&amp;#039;odbc_exec() ha la stessa funzione di mysql_query(), ma differentemente va prima dichiarata la connessione ( basandomi sul esempio di apertura connesione , $ASdb) e solo dopo la query.&lt;br /&gt;
&lt;br /&gt;
 odbc_exec($ASdb, $query);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
poi si va avanti .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Riferimenti ==&lt;br /&gt;
&lt;br /&gt;
*[http://forum.alproject.org/viewtopic.php?t=364 AS400 e php - Aquileia Linux Project]&lt;/div&gt;</summary>
		<author><name>Gabriele.vivinetto</name></author>
	</entry>
</feed>