<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mad93's bloc &#187; bases de dades</title>
	<atom:link href="http://bloc.majomo.com/category/bd/feed/" rel="self" type="application/rss+xml" />
	<link>http://bloc.majomo.com</link>
	<description>Un bloc més a la xarxa</description>
	<lastBuildDate>Fri, 09 Apr 2010 21:32:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Connectar a una base de dades DB2 mitjançant unixODBC</title>
		<link>http://bloc.majomo.com/connectar-a-una-base-de-dades-db2-mitjancant-unixodbc/</link>
		<comments>http://bloc.majomo.com/connectar-a-una-base-de-dades-db2-mitjancant-unixodbc/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 14:56:53 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[DB2]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[bases de dades]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[AS400]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[ODBC]]></category>
		<category><![CDATA[unixODBC]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=117</guid>
		<description><![CDATA[Aquests dies per coses de la feina volia connectar a una base de dades DB2 directament, que es troba en un AS400, un mainframe.
El cas es que em va costar força fer-ho anar, tot i que realment no és gaire difícil.
Dir que en principi es documenta que amb DB2 Connect es pot accedir al AS400, [...]]]></description>
			<content:encoded><![CDATA[<p>Aquests dies per coses de la feina volia connectar a una base de dades DB2 directament, que es troba en un AS400, un mainframe.</p>
<p>El cas es que em va costar força fer-ho anar, tot i que realment no és gaire difícil.</p>
<p>Dir que en principi es documenta que amb DB2 Connect es pot accedir al AS400, però bé, jo no vaig trobar la manera d'aconseguir-ho, tot i que tampoc importa molt ja que el que volia era que el meu programa, en C++, pogués accedir directament a les dades del AS400.<br />
<span id="more-117"></span></p>
<p>Concretament volia instal·lar-ho a un servidor Debian Lenny, on tinc un servidor que és el que connecta amb el AS400, i efectua les operacions que li demanen els clients sobre la BD en funció de la seva autorització (així es controla que només el servidor hi tingui accés directe, i a més ens estalviem instal·lar a tot arreu el ODBC).</p>
<p>Per tant al servidor hem d'instal·lar-hi el unixODBC (disponible a totes les distribucions) i el driver d'ibm per al ODBC. Aquest driver s'ha de descarregar d'IBM i el podeu trobar en <a href="http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg21288088">aquesta plana</a>.</p>
<p>Altrament també necessitarem instal·lar el software isql per a comprovar que tot a funcionat correctament.</p>
<p>Instal·lem el software:</p>
<pre>aptitude install unixODBC isql</pre>
<p>Llavors instal·lem el driver d'ibm, si en descomprimim el paquet ja veurem que té un fitxer anomenat libdb2.so que el trobem dintre del directori /lib del arxiu que hem descomprimit.</p>
<p>Ara afegirem la ubicació del driver a l'arxiu /etc/odbcinst.ini (si instal·leu el driver amb l'instal·lador d'ibm, aquesta entrada s'hauria d'afegir sola):</p>
<pre>[iSeries Access ODBC Driver]
Description             = iSeries Access for Linux ODBC Driver
Driver          = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup           = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
NOTE1           = If using unixODBC 2.2.11 or later and you want the 32 and 64-bit ODBC drivers to share DSN's,
NOTE2           = the following Driver64/Setup64 keywords will provide that support.
Driver64                = /opt/ibm/iSeriesAccess/lib64/libcwbodbc.so
Setup64         = /opt/ibm/iSeriesAccess/lib64/libcwbodbcs.so
Threading               = 2
DontDLClose             = 1
UsageCount              = 1</pre>
<p>Finalment afegirem la ubicació i dades del nostre servidor a /etc/odbc.ini:</p>
<pre>[Server_AS_400]
Driver          = iSeries Access ODBC Driver
Description     = Production AS/400 Database
Server          = 172.26.0.2
System          = 172.26.0.2</pre>
<p>Per a comprovar si connectem correctament al AS400 farem ús de l'eina isql:</p>
<pre>isql Server_AS_400 &lt;usuari&gt; &lt;clau&gt;</pre>
<p>Un document més complet de com fer-ho el podeu trobar <a href="http://www.kcaran.com/entries/technology/linux/linuxodbc.html" target="_blank">en aquesta entrada de blog</a>, que és d'on en vaig extreure la informació.</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/connectar-a-una-base-de-dades-db2-mitjancant-unixodbc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Passar una base de dades sqlite a mysql (o codi sql)</title>
		<link>http://bloc.majomo.com/passar-una-base-de-dades-sqlite-a-mysql-o-codi-sql/</link>
		<comments>http://bloc.majomo.com/passar-una-base-de-dades-sqlite-a-mysql-o-codi-sql/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 23:36:00 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[bases de dades]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/2007/09/20/passar-una-base-de-dades-sqlite-a-mysql-o-codi-sql/</guid>
		<description><![CDATA[A priori volcar aquestes dues bases de dades pot semblar una mica complex, de fet hi ha eines per a tal fi, però la veritat és que és força senzill de fer i relativament ràpid (al menys més que muntar un sistema prefet per a convertir-ho).
Primer executem el sqlite i obrim el fitxer:
sqlite3 fitxer.sql
Ara, dintre [...]]]></description>
			<content:encoded><![CDATA[<p>A priori volcar aquestes dues bases de dades pot semblar una mica complex, de fet hi ha eines per a tal fi, però la veritat és que és força senzill de fer i relativament ràpid (al menys més que muntar un sistema prefet per a convertir-ho).<span id="more-19"></span><br />
Primer executem el sqlite i obrim el fitxer:</p>
<p><code>sqlite3 fitxer.sql</code></p>
<p>Ara, dintre del programa executem les comandes:</p>
<p><code>.output aux.sql<br />
.dump<br />
.quit</code></p>
<p>Ara ja tenim un fitxer SQL, però l'hem de netejar una mica per a que el mysql el vulgui. Primer treiem les línies superior i inferior del fitxer, doncs són de la sortida del dump, no codi SQL.</p>
<p><code>BEGIN TRANSACTION;</code></p>
<p>i</p>
<p><code>COMMIT;</code></p>
<p>Ara també ens farà falta desfer-nos de totes les cometes dobles, doncs a mysql no l'hi agraden, amb vim es fa amb:</p>
<p><code>:%s/"//g</code></p>
<p>Guardem i ja podem injectar el codi a una base de dades mysql <img src='http://bloc.majomo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/passar-una-base-de-dades-sqlite-a-mysql-o-codi-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accedint a una base de dades externa des de rails</title>
		<link>http://bloc.majomo.com/accedint-a-una-base-de-dades-externa-des-de-rails/</link>
		<comments>http://bloc.majomo.com/accedint-a-una-base-de-dades-externa-des-de-rails/#comments</comments>
		<pubDate>Sun, 16 Sep 2007 03:02:37 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[bases de dades]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/2007/09/16/accedint-a-una-base-de-dades-externa-des-de-rails/</guid>
		<description><![CDATA[En rails tot està molt ben m0ntat per a accedir a la base de dades assignada, però a l'hora de fer-ho a una d'externa és un xic més complicat, tampoc molt, però s'ha de buscar &#62;&#60;
El cas és que necessitava accedir a una base de dades externa o senzillament una altre base de dades al [...]]]></description>
			<content:encoded><![CDATA[<p>En rails tot està molt ben m0ntat per a accedir a la base de dades assignada, però a l'hora de fer-ho a una d'externa és un xic més complicat, tampoc molt, però s'ha de buscar &gt;&lt;</p>
<p>El cas és que necessitava accedir a una base de dades externa o senzillament una altre base de dades al mateix servidor, sí, m'agrada complicar-me la vida....</p>
<p><span id="more-15"></span></p>
<p>El tema models va igual que amb les taules internes, és a dir:</p>
<p><codi><br />
class Phpbb_sessions &lt; ActiveRecord::Base<br />
self.pluralize_table_names=true;<br />
end</codi></p>
<p>Una classe normal. El self.pluralize_table_names és un atribut que fixa si ha de pluralitzar o no el nom de la taula (si programes en català com jo pot ser útil això XD).</p>
<p>Això ens crearà una clase Phpbb_session. Ara falta el que volem, connectar-nos a la base de dades externa, que ho farem al controlador on volguem obtenir les dades (en aquest cas a application.rb, doncs la sessió la volem verificar a tot arreu):</p>
<p><code>Phpbb_sessions.establish_connection(:adapter=&gt;'mysql', :host=&gt;'localhost', :username=&gt;'nom', :password=&gt;'clau', :database=&gt;'basededades');</code></p>
<p>I ara ja podem fer un Phpbb_session.find o el que volguem amb la taula. Si feu una consulta vigileu d'emprar find, que retorna un objecte, molt més manejable, find_by_sql retornarà un array i.. ufff XD</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/accedint-a-una-base-de-dades-externa-des-de-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
