Hoje no sistema é possível na criação de dashboards, utilizar bancos de dados que não é o banco do Sankhya-Om como fonte de dados; consideremos para estas situações, bancos de dados externos ao sistema.
Os bancos de dados que podem ser utilizados como fonte de dados externos para criação de Dashboards em suas versões mais recentes são PostgreSQL, Firebird, DB2 e SQL Server.
Para conexão com banco de dados, o Sankhya-Om necessita do driver de conexão JDBC e antes de dar início, acesse a página oficial do fabricante responsável pelo banco de dados e na área de downloads baixar a versão mais recente do driver. Feito o download, copie o jar do driver para o servidor, no caminho $jboss\server\default\lib, em seguida no caminho $jboss\server\default\deploy configure o "arquivo mge-ds.xml".
Arquivo mge-ds.xml Datasourse Oracle
Datasource MySQL Datasource PostgreSQL v9.4
Datasource Firebird v2.5 Datasource IBM DB2 v10.5
Wildfly:
Wildfly - Configuração... Driver JDBC para conexão com o banco de dados
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MGEDS</jndi-name>
<connection-url>jdbc:oracle:thin:@SERVIDOR:PORTA:ORCL</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>Usuário</user-name>
<password>senha</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql>select 1 from dual</new-connection-sql>
<min-pool-size>5<min-pool-size>
<max-pool-size>5</max-pool-size>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
<local-tx-datasource>
Configuração da string de conexão
A partir desta etapa, adicione ao Datasource a configuração para conexão com banco de dados; cada banco de dados possui seu próprio padrão de conexão; citaremos o que será necessário para realizar tal configuração, sendo que todas essas configurações são inseridas em um único arquivo mge-ds.xml criado pelo próprio Sankhya-Om no diretório $jboss\server\default\deploy.
Datasourse Oracle - Dados para conexão - Oracle
<?xml version="1.0" encoding="UFT-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MGEDS</jndi-name>
<connection-url>jdbc:oracle:thin:@192.168.0.210:1521:ORCL</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>Usuário</user-name>
<password>senha</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql>select 1 from dual</new-connection-sql>
<min-pool-size>5</min-pool-size>
<max-pool-size>5</max-pool-size>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
</local-tx-datasource>
Datasource MySQL - Dados para conexão - MySQL
<?xml version="1.0" encoding="UFT-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>homologaMYSQL</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/NOME-BANCO</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>Usuário</user-name>
<password>senha</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql></new-connection-sql>
<min-pool-size>5</min-pool-size>
<max-pool-size>5</max-pool-size>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
</local-tx-datasource>
Datasource PostgreSQL v9.4 - Dados para conexão - PostgreSQL
<?xml version="1.0" encoding="UFT-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>homologaPostgresql</jndi-name>
<connection-url>jdbc:postgresql://localhost:5432/postgres</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>Usuário</user-name>
<password>senha</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql></new-connection-sql>
<min-pool-size>5</min-pool-size>
<max-pool-size>5</max-pool-size>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
</local-tx-datasource>
Datasource Firebird v2.5 - Dados para conexão - Firebird v2.0/v2.5
<?xml version="1.0" encoding="UFT-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>homologaFirebird</jndi-name>
<connection-url>jdbc:firebirdsql://localhost:3050/C:\ProgramFiles\Firebird\Firebird_2_5\examples\empbuid\EMPLOYEE.FDB</connection-url>
<driver-class>org.firebirdsql.jdbc.FBDriver</driver-class>
<user-name>Usuário</user-name>
<password>senha</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql></new-connection-sql>
<min-pool-size>5</min-pool-size>
<max-pool-size>5</max-pool-size>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
</local-tx-datasource>
Datasource IBM DB2 v10.5 - Dados para conexão - IBM DB2 v10.5
<?xml version="1.0" encoding="UFT-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>homologaDB2</jndi-name>
<connection-url>jdbc:db2://localhost:50000/SAMPLE</connection-url>
<driver-class>com.ibm.db2.jcc.DB2Driver</driver-class>
<user-name>Usuário</user-name>
<password>senha</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql></new-connection-sql>
<min-pool-size>5</min-pool-size>
<max-pool-size>5</max-pool-size>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
</local-tx-datasource>
Datasource SQL Server v10.0 - Dados para conexão - SQL Server v10.0
<?xml version="1.0" encoding="UFT-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>homologaSQLSERVER</jndi-name>
<connection-url>jdbc:sqlserver://localhost\SQLEXPRESS:1433</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<user-name>Usuário</user-name>
<password>senha</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<new-connection-sql></new-connection-sql>
<min-pool-size>5</min-pool-size>
<max-pool-size>5</max-pool-size>
<transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
</local-tx-datasource>
Finalizada a configuração, salve do arquivo.
No Sankhya-Om, ao utilizar a tela Construtor de Componentes de BI para criação de um novo dashboard, na etapa destinada a editar/consultar a expressão, realiz
e a escolha do banco de dados externo que foi anteriormente inserido no Datasource, através do ícone em destaque na imagem abaixo:
Wildfly - Configuração de Datasource
A configuração de um novo datasource para o Wildfly consiste na configuração do driver de conexão com o banco de dados (Driver JDBC para conexão com o banco de dados e Criação do Datasource, respectivamente) e na definição do datasource que na prática é um XML que define os dados de conexão com a base de dados.
O driver de conexão precisa ser definido uma única vez, portanto se já existir o driver no Wildfly, será necessário apenas seguir as instruções descritas no tópico Criação do Datasource.
Por padrão, o Wildfly que disponibilizamos já possui os drivers do Oracle, MS SQL e MySQL como módulos.
Driver JDBC para conexão com o banco de dados
Existem duas opções para configurar o driver de conexão com o banco de dados. Vejamos:
A. Utilizar um driver JDBC versão 4.0
Basta copiar o "arquivo.jar" referente ao seu driver JDBC 4.0 para a pasta:
WILDFLY_HOME/standalone/deployments
Observação: Se o jar for de uma versão anterior a 4.0, o Wildfly exibirá um erro de deploy do arquivo.jar.
B. Definir o driver JDBC como módulo do Wildfly
Para os passos a seguir, iremos considerar que o termo "meuBanco" é o nome identificador do seu banco de dados, deste modo:
1 – Cria-se a pasta WILDFLY_HOME/modules/custom/meuBanco/main
2 – Dentro da pasta "main" cria-se o arquivo module.xml que é o descritor do seu módulo.
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="custom.meuBanco">
<resources>
<resource-root path="meuBanco.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
Observações:
- O nome para seu módulo deve ser sugestivo e não pode conter caracteres especiais ou espaços;
- O jar do driver JDBC deve ficar na pasta main, juntamente ao module.xml; certifique-se que o nome do jar é o mesmo definido dentro do XML.
O datasource é um XML que descreve as configurações e os dados de conexão com a base de dados. O arquivo deve ter o nome terminado em "-ds.xml" (teste-ds.xml, treina-ds.xml, integracao-ds.xml) e deve ser salvo salvo em:
WILDFLY_HOME/standalone/deployments
A seguir estão disponibilizados os modelos conforme cada banco de dados.
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ironjacamar.org/schema/
datasources_1_0.xsd">
<datasource jndi-name="java:/OracleDS" pool-name="OracleDS">
<connection-url>jdbc:oracle:thin:@IP_OU_HOST:1521:SID_DA_BASE</connection-url>
<connection-property name="v$session.program">IronJacamar</connection-property>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<security>
<user-name>x</user-name>
<password>y</password>
</security>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker">
</valid-connection-checker>
<stale-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker">
</stale-connection-checker>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"></exception-sorter>
</validation>
</datasource>
</datasources>
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ironjacamar.org/schema/
datasources_1_0.xsd">
<datasource jndi-name="java:/MySqlDS" pool-name="MySqlDS">
<connection-url>jdbc:mysql://mysql-hostname:3306/nome_bd</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<security>
<user-name>x</user-name>
<password>y</password>
</sec<datasource jndi-name="java:jboss/datasources/SantaRosa" pool-name="SantaRosaDS" enabled="true" jta="true" use-java-context="true" use-ccm="true">
<connection-url>jdbc:firebirdsql:localhost/3050:C:/SantaRosa/sicoi.gdb?charSet=ISO-8859-1</connection-url>
<driver>firebirdsql</driver>
<security>
<user-name>SYSDBA</user-name>
<password>masterkey</password>
</security>
<statement>
<prepared-statement-cache-size>100</prepared-statement-cache-size>
<share-prepared-statements/>
</statement>
</datasource>
<driver name="firebirdsql" module="org.firebirdsql">
<xa-datasource-class>org.firebirdsql.pool.FBConnectionPoolDataSource</xa-datasource-class>
</driver>urity>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker">
</valid-connection-checker>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter">
</exception-sorter>
</validation>
</datasource>
</datasources>
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ironjacamar.org/schema/
datasources_1_0.xsd">
<datasource jndi-name="java:/PostgresDS" pool-name="PostgresDS">
<connection-url>jdbc:postgresql://[servername]:[port]/[database name]</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<security>
<user-name>x</user-name>
<password>y</password>
</security>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker">
</valid-connection-checker>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter">
</exception-sorter>
</validation>
</datasource>
</datasources>
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ironjacamar.orgd/schema/atasources_1_0.xsd">
<datasource jndi-name="java:/MSSQLDS" pool-name="MSSQLDS">
<connection-url>
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MyDatabase
</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<security>
<user-name>x</user-name>
<password>y</password>
</security>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker">
</valid-connection-checker>
</validation>
</datasource>
</datasources>
<?xml version="1.0" encoding="UTF-8"?>
<datasources
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ironjacamar.org/schema/datasources_1_0.xsd"
>
<datasource jndi-name="java:/DB2DS" pool-name="DB2DS">
<connection-url>jdbc:db2:SUA_BASE_DE_DADOS</connection-url>
<driver-class>COM.ibm.db2.jdbc.app.DB2Driver</driver-class>
<security>
<user-name>USUARIO</user-name>
<password>SENHA</password>
</security>
<validation>
<valid-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ValidConnectionChecker">
</valid-connection-checker>
<stale-connection-checker
class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2StaleConnectionChecker">
</stale-class-connection-checker>
<exception-sorter
class-name="org.jboss.jca.adapters.jdbc.extensions.db2.DB2ExceptionSorter">
</exception-sorter>
</validation>
</datasource>
</datasources>
<?xml version="1.0" encoding="UTF-8"?>
<datasources
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://www.ironjacamar.org/schema/datasources_1_0.xsd"
>
<datasource jta="false" jndi-name="java:jboss/NOME_DATASROUCE" pool-name="NOME_DATASROUCE" enabled="false" use-ccm="false">
<connection-url>jdbc:FirebirdSQL:name.serverfirebird.com.br:/path/to/database/data.fdb</connection-url>
<driver-class>org.firebirdsql.jdbc.FBDriver</driver-class>
<connection-property name="charSet">ISO8859-1</connection-property>
<connection-property name="roleName">ROLE_APP</connection-property>
<driver>jaybird-2.2.4.jar</driver>
<security>
<user-name>userdb</user-name>
<password>passwddb</password>
</security>
<validation>
<validate-on-match>false</validate-on-match>
<background-validation>false</background-validation>
</validation>
<timeout>
<idle-timeout-minutes>1</idle-timeout-minutes>
</timeout>
<statement>
<share-prepared-statements>false</share-prepared-statements>
</statement>
</datasource>
Comentários
0 comentário
Por favor, entre para comentar.