|
|
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
|
|
|
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..
ResponderBorrar