Feeds, issues, packages and code source about emulation and pograming, of VENENUX proyects, Debian related distros and massenkoh!

Setup ODBC using PostGreSQL and access

|



ODBC creating conections and pools by PostGreSQL : PostgreSQL ODBC Driver setup on Debian

ODBC creando conecciones y granjas por PostGreSQL : PostgreSQL ODBC Driver configuracion en Debian|

Este paquete contiene el controlador ODBC de PostgreSQL. Aplicaciones que deseen hacer uso de ella deben usarlo través de un gestor de controladores ODBC. En Debian, esto normalmente significa que tienen una dependencia en el paquete "libiodbc2" o "unixodbc".

This package contains the PostgreSQL ODBC driver. Applications wishingto make use of it need to go through an ODBC driver manager. On Debian, this normally means that they have a dependency on the package "libiodbc2" or "unixodbc".

Este ejemplo sale de la necesidad no de programar con ODBC, sin o mas sencillo, usar una coneccion que ya este disponible en ODBC pero la informacion que se encuentra relacionada aparte de estar des actualizada es pobre y no relacionada en absoluto a debian.

This example came from the need not to programing with ODBC, easier, use it a connection that's already available in ODBC but the information in network related are currenly out of date and very poor also not related at all to debian.

Debian pgsql ODBC package : odbc-postgresql and ANSI vs UNICODE

El paquete Debian (odbc-postgresql) contiene actualmente dos pilotos, una variante de ANSI (psqlodbca) y una variante de Unicode (psqlodbcw). La variante de Unicode trabaja con clientes Unicode y ASCII, la variante de ANSI deberia funcionar con cualquier cliente, siempre que la codificacion sean iguales. Los detalles dependen de la aplicación y el gestor de controladores, la experimentación puede ser necesario en algunos casos.

Debian package (odbc-postgresql) actually contains two drivers, one ANSI variant (psqlodbca) and one Unicode variant (psqlodbcw). The Unicode variant works with Unicode and ASCII clients, the ANSI variant should work with any client encoding provided that the database encoding matches. The specifics depend on the application and the driver manager; experimentation may be necessary in some cases


Instalando soporte ODBC en Debian con PostGreSQL


Install ODBC support on Debian with PostGreSQL

Sencillo, asumiendo se configuro el servicio de postgres como indica massenkoh, simplemente se realiza el comando como superusuario:

Easyl asuming postgres are configured as indicated on massenkoh pdf documentation, simply run install comand as super user on console:

svrindrave02:~# apt-get install odbc-postgresql


Configurando el driver en Debian para la instancia a usar


Configuring the registered instances on Debian.

1) Registrar el driver

1) Registrered driver

Primero se debe registrar el ODBC driver de PostGreSQL en /etc/odbcinst.ini, con lo siguiente en root:

First must register the PostGreSQL ODBC drivers in /etc/odbcinst.ini, run the following command as root:

svrmassenkoh02:# odbcinst -i -d -f /usr/share/psqlodbc/odbcinst.ini.template

odbcinst: Driver installed. Usage count increased to 1.

Target directory is /etc

odbcinst: Driver installed. Usage count increased to 1.

Target directory is /etc

svrmassenkoh02:#

cat /usr/share/doc/odbc-postgresql/examples/odbc.ini.template >> ~/.odbc.ini

Esto instancia y registra un ODBC para el postgresql, dos realmente, uno ANSI y uno UNICODE.

This instance and registrered a ODBC for postgresql, realy tow, one ANSI and other UNICODE.

2) Creando la Fuente de Datos

2) Creating Data Sources

Para poder tener acceso a una base de datos en particular a través de ODBC tiene que registrarse como una fuente de datos ODBC. Las fuentes de datos son registrados a nivel global en /etc/odbc.ini o para cada usuario en un archivo del home ~/.odbc.ini respectivamente.

To be able to access a particular database via ODBC you need to register it as an ODBC data source. Data sources are registered globally in /etc/odbc.ini or for each user in private home file as ~/.odbc.ini respectively.


Para ejabberd como ejemplo se creo el archivo global /etc/odbc.ini con este contenido:


For ejabberd by example this contents are created in global /etc/odbc.ini file:

[PSQLejabberdb]

Description = PostgreSQL ejabberdb conection

Driver = PostgreSQL Unicode

Trace = No

TraceFile = /var/log/jabberd/psqlodbc.log

Database = ejabberdb

Servername = localhost

UserName = ejabberdb

Password =

Port = 5432

ReadOnly = No

RowVersioning = No

ShowSystemTables = No

ShowOidColumn = No

FakeOidIndex = No

ConnSettings =


La conexión ODBC debe ser global para ejabberd en Debian, pero en otros ftp / clientes de acogida debe ser por or usuario del proceso de ejabberd

The ODBC conection must be global for ejabberd on Debian, but on others ftp/host clients must be by user ower of ejabberd process.


Probando conectividad


Testing Connectivity

Usando el cliente isql de ODBC asi:

Using the isql client as it:

svrindrave02:~# isql PSQLejabberdb ejabberdb

+---------------------------------------+

| Connected! |

| |

| sql-statement |

| help [tablename] |

| quit |

| |

+---------------------------------------+

SQL> quit

svrindrave02:~#

NOTA: shemas

NOTE: shemas

Al final del archivo hay que definir los esquemas extras aparte de public!

At the end of setion config must be defined the extra default shemas around public!

ConnSettings = SET search_path TO prod, public



1 comments/comentarios:

Anónimo dijo...

ejabberd no solo requiere de ODBC, tambien puede conectarse nativo pero debe habilitarse su modulo interno.. no es suficiente decirle la DB y el metodo..

Publicar un comentario

si vienes de guindo, winbuntu o parecido, limitate y escribe algo util...