La que sigue es una lista de drivers JDBC usados con mayor frecuencia. Para cada uno se especifica el nombre de la clase y la sintaxis para su URL jdbc.
Importante: Recordar cómo se divide la URL jdbc para colocarla en la definición de la conexión en O3Designer.
Dada la url jdbc:<sub-protocol>:<driver & database specific parameters>, luego en el panel de conexión se coloca lo siguiente:
Protocolo: <sub-protocol>
Parámetros: <driver & database specific parameters>
Por ejemplo, la url de MySql jdbc:mysql://{hostIP | hostName}:port/database se dividiría así:
Protocolo: mysql
Parámetros: //{hostIP | hostName}:port/database
Para conocer mas en detalle cómo definir conexiones a otras Bases de Datos recomendamos consultar el documento que se adjunta a esta página (solo disponble versión en inglés).
ORACLE
Clase: | oracle.jdbc.driver.OracleDriver |
---|---|
URL: | jdbc:oracle:thin:@{hostIP | hostName}:port:SID |
Default port: 1521
Ejemplo en O3Designer:
Cambio en driver de Oracle
A partir de la versión del driver para Oracle 11, no existe más la clase oracle.jdbc.driver.OracleDriver.
Se debe usar la clase oracle.jdbc.OracleDriver en su lugar.
Los drivers para la version 10g ya traen las 2 versiones de la clase, asi que se debe hacer el cambio desde ahora.
Problemas con el idioma del puesto cliente al conectarse a Oracle
Hemos experimentado inconvenientes al chequear la conexión a Oracle desde O3Studio, utilizando el driver ojdbc14.jar. El problema se visualiza a través del siguiente error: "ORA-00604 "error ocurred at recursive SQL leel"... ORA-12705 "cannot access NLS data files or invalid environment".
Otra situación donde es necesario aplicar la misma solución se detectó en consultas SQL utilizando driver ojdbc6 sobre Oracle 11g, en las cuales no se resuelven las conversiones numéricas y se visualiza el siguiente error: "ORA-01722: número no válido".
Solución: Modificar el Regional Setting en el puesto cliente, seteando Estándares y Formatos: Inglés (Estados Unidos) y Ubicación: Estados Unidos. Por ejemplo, indicando -Duser.language=en -Duser.region=US en las componentes de O3Studio.
Problemas con la zona horaria del puesto cliente al conectarse a Oracle
Hemos experimentado inconvenientes al chequear la conexión o verificar un modelo desde O3Studio, utilizando diferentes driver. El problema se visualiza a través del siguiente error: "ORA-01882: timezone region not found".
Solución: Sí los componentes O3Designer, y O3Builder se ejecutan utilizando los archivos .exe, se debe agregar la siguiente property en los archivos Designer.lax, Builder.lax (versiones <= 5.3), o Designer.vmoptions, Builder.vmoptions (versiones >= 5.4):
-Duser.timezone="GMT-3"
Sí se ejecutan utilizando los archivos .sh, se deben editar (designer.sh, builder.sh) y agregar la siguiente property:
PROPERTIES="$PROPERTIES -Duser.timezone=GMT-3"
Sí se ejecutan utilizando los archivos .bat, se deben editar (Designer.bat, Builder.bat) y agregar la siguiente property:
set PROPERTIES=%PROPERTIES% -Duser.timezone=GMT-3
INFORMIX
Clase: | com.informix.jdbc.IfxDriver |
---|---|
URL: | jdbc:informix-sqli://{hostIP | hostName}:port[/database]:INFORMIXSERVER=serverName;[user=user;password=password][;name=value[;name=value]...] |
Default port: 1533
Ejemplo en O3Designer:
Driver: | com.informix.jdbc.IfxDriver |
---|---|
Protocolo: | informix-sqli |
Parámetros: | //{hostIP | hostName}:port[/database]:INFORMIXSERVER=serverName;[user=user;password=password][;name=value[;name=value]...] |
Microsoft SQL-SERVER
SQL-SERVER 2000 y 2005
La informacion siguiente es para el driver distribuido con O3, implementado por el archivo sqljdbc-1.0.809.102.jar, ubicado en el directorio <O3>\classes\jdbc.
Clase: | com.microsoft.sqlserver.jdbc.SQLServerDriver |
---|---|
URL: | jdbc:sqlserver://{hostIP | hostName}[;DatabaseName =value[;property=value]...] |
Default port: 1433
Ejemplo en O3Designer:
La informacion siguiente es para el driver distribuido por Microsoft, que consiste en los archivos msbase.jar, mssqlserver.jar y msutil.jar (deben estar instalados en <O3>\classes\jdbc).
Clase: | com.microsoft.jdbc.sqlserver.SQLServerDriver |
---|---|
URL: | jdbc:microsoft:sqlserver://{hostIP | hostName}[;DatabaseName =value[;property=value]... |
Default port: 1433
Ejemplo en O3Designer:
Driver: | com.microsoft.sqlserver.jdbc.SQLServerDriver |
---|---|
Protocolo: | microsoft:sqlserver |
Parámetros: | //{hostIP | hostName}[;DatabaseName =value[;property=value]... |
Clase: | connect.microsoft.MicrosoftDriver |
---|---|
URL: | jdbc:ff-microsoft://{hostIP | hostName}:port/database |
Ejemplo en O3Designer:
Driver: | connect.microsoft.MicrosoftDriver |
---|---|
Protocolo: | ff-microsoft |
Parámetros: | //{hostIP | hostName}:port/database |
Conexión a instancia
En caso de tener que definir conexión a una instancia particular del servidor de base de datos, la sintaxis de parámetros es la siguiente:
//{hostIP | hostName}\instanceName[;DatabaseName =value[;property=value]...
Notar que se omite el puerto.
Si el string de conexión se debe definir en un archivo de properties, la \ antes del instanceName debe ser doble: \\instanceName
Por defecto SQL Server 2005 Express no tiene conectividad por TCP/IP disponible luego de la instalación. Es necesario ir al SQL Server Configuration Manager. Bajo SQL Server 2005 Network Configuration, click en Protocols for SQLEXPRESS, click on TCP/IP para dejarlo disponible.
Para configurar un puerto en particular y deshabilitar la asignación dinámica, se debe ir al nodo TCP/IP, botón derecho sobre "IPAll" y abrir sus Propiedades. Se deja en blanco el valor de "TCP Dynamic Ports" y se adjudica el "TCP Port" al puerto que se crea conveniente. Lo más usual es utilizar el puerto 1433 ó el puerto 1593.
Reiniciar el servicio de BD para que los cambios tomen efecto
JTurbo
Clase: | com.ashna.jturbo.driver.Driver |
---|---|
URL: | jdbc:JTurbo://{hostIP | hostName}:port/database |
Ejemplo en O3Designer:
Driver: | com.ashna.jturbo.driver.Driver |
---|---|
Protocolo: | JTurbo |
Parámetros: | //{hostIP | hostName}:port/database |
Inetdae
Clase: | com.inet.tds.TdsDriver |
---|---|
URL: | jdbc:inetdae://{hostIP | hostName}:port?database=database |
Ejemplo en O3Designer:
Driver: | com.inet.tds.TdsDriver |
---|---|
Protocolo: | inetdae |
Parámetros: | //{hostIP | hostName}:port?database=database |
MySQL
Clase: | com.mysql.jdbc.Driver |
---|---|
URL: | jdbc:mysql://{hostIP | hostName}:port/database |
Default port: 3306
Ejemplo en O3Designer:
En el caso de utilizar versiones recientes de MySQL donde el autollenado de los campos no resuelve los alias definidos en las consultas, se sugiere agregar el parámetro useOldAliasMetadataBehavior con valor verdadero como parte de la URL de conexión.
Ejemplo:
//hostName:3306/DataBase?useOldAliasMetadataBehavior=true
Memoria
Ante incovenientes en consumo de memoria ver el siguiente How To
Essentia
Clase: | intersoft.jdbc.EssentiaDriver |
---|---|
URL: | jdbc:essentia://{hostIP | hostName}:port/schema |
Default port: 1700
Ejemplo en O3Designer:
Driver: | intersoft.jdbc.EssentiaDriver |
---|---|
Protocolo: | essentia |
Parámetros: | //{hostIP | hostName}:port/schema |
POSTGRES
Clase: | com.postgresql.Driver |
---|---|
URL: | jdbc:postgresql://{hostIP | hostName}:port[/database] |
Default port: 5432
Ejemplo en O3Designer:
Driver: | com.postgresql.Driver |
---|---|
Protocolo: | postgresql |
Parámetros: | //{hostIP | hostName}:port[/database] |
Caso especial: PIQL (driver postgres-ideafix), el driver es el de postgres con la única diferencia que se publica puerto por defecto en el puerto 7120
Para el uso de un gran volumen de registros se recomienda pasarle dos parámetros al driver para una mayor eficiencia y performance (consulta se consuma en un cursor): autocommit=FALSE y un FetchSize mayor a 0. A partir de la versión de 5.0.040 se pueden indicar estos valores en la configuración avanzada de los parámetros de la conexión.
DB2 as400
Clase: | com.ibm.as400.access.AS400JDBCDriver |
---|---|
URL: | jdbc:as400://{hostIP | hostName}/libreria |
Ejemplo en O3Designer:
Driver: | com.ibm.as400.access.AS400JDBCDriver |
---|---|
Protocolo: | as400 |
Parámetros: | //{hostIP | hostName}/libreria |
DB2 UDB
Clase: | com.ibm.db2.jcc.DB2Driver |
---|---|
URL: | jdbc:db2://{hostIP|hostName}:port/database |
Default port: 50000
Ejemplo en O3Designer:
Driver: | com.ibm.db2.jcc.DB2Driver |
---|---|
Protocolo: | db2 |
Parámetros: | //{hostIP|hostName}:port/database |
RELATIVITY
Clase: | relativity.jdbc.Driver |
---|---|
URL: | jdbc:relativity://{hostIP | hostName}:1583/ODBC |
Ejemplo en O3Designer:
NOTA IMPORTANTE:
Agregarle a builder.bat y designer.bat la siguiente linea:
set PROPERTIES=%PROPERTIES% -Do3.sql.useSystemProp=false
Si se va a correr los que estan en <o3>/bin ... agregarle la siguiente linea tanto a Designer.lax como a Builder.lax:
o3.sql.useSystemProp=false
En GNU/Linux, UNIX, AIX (entre otros) a los builder.sh, designer.sh :
PROPERTIES="$PROPERTIES -Do3.sql.useSystemProp=false"
Service Pack para Relativity 11.00
FIREBIRD
Clase: | org.firebirdsql.jdbc.FBDriver |
---|---|
URL: | jdbc:firebirdsql://{hostIP|hostName}:port/path_to_database |
Default port: 3050
Ejemplo en O3Designer:
Driver: | org.firebirdsql.jdbc.FBDriver |
---|---|
Protocolo: | firebirdsql |
Parámetros: | //{hostIP|hostName}:port/path_to_database |
SQLITE
Clase: | org.sqlite.JDBC |
---|---|
URL: | jdbc:sqlite:path_to_database |
Ejemplo en O3Designer:
Driver: | org.sqlite.JDBC |
---|---|
Protocolo: | sqlite |
Parámetros: | C:\SQLite\SampleDB.db |
FoxPro (FoxPro, Visual FoxPro, FoxBase, Clipper)
Clase: | jstels.jdbc.dbf.DBFDriver2 |
---|---|
URL: | jdbc:jstels:dbf:c:/mydir/dbffiles |
Ejemplo en O3Designer:
Driver: | jstels.jdbc.dbf.DBFDriver2 |
---|---|
Protocolo: | jstels |
Parámetros: | dbf:c:/mydir/dbffiles |
Driver Modes
There are two main modes StelsEngine can run in: the mode with data caching and the mode with data swapping. Running in the first mode (default mode), the driver stores all tables in the RAM making it possible to achieve maximum performance. Keep in mind that Java Virtual Machine must have enough free memory allotted for storing large tables (use -Xms and -Xmx JVM options).
The second mode can be used to process large tables which cannot be fully stored in the RAM. To use this mode, set the driver property caching to false. There are also some properties for configuring this mode:
tempPath - directory where temporary files will be created (by default it is a OS temporary directory, specified by JVM environment variable "java.io.tmpdir").
maxRecordsInMemoryPerTable is used to define how many records should be saved in the RAM for each table (by default - 5000 records).
maxSwapStringSize - default size for string columns in swap files (by default - 50 characters).
Ejemplo de uso de parámetros en el string de conexión: dbf:c:/mydir/dbffiles?caching=false
Access
Crear ODBC del sistema que apunte a el archivo de access
Ejemplo en O3Designer:
Driver: | sun.jdbc.odbc.JdbcOdbcDriver |
---|---|
Protocolo: | odbc |
Parámetros: | "Nombre ODBC" |
Accediendo archivos DBF y EXCEL
Ver notas en sección HowTo Accediendo archivos DBF y Excel