Produto: ECM
Versão: 3.00
O TOTVS | ECM está integrado com o Protheus sendo que os dois com Banco de Dados são MySQL. A conexão com o segundo data source é para movimentar formulários relativos à matéria prima. Portanto, como efetuar a comunicação com um segundo Banco de Dados no TOTVS | ECM 3?
Dificuldades em efetuar conexão de dois Data Sources no TOTVS | ECM.
Para que o procedimento seja realizado é importante parar o serviço da plataforma TOTVS | ECM.
Para configurar um segundo Data Source no TOTVS | ECM faça os seguintes procedimentos:
Acesse no diretório do Windows, na pasta de instalação do TOTVS | ECM, o arquivo wdk-ds.xml disponível em <Instalação-ECM>\server\default\deploy.
<?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/webdeskDS</jndi-name> <connection-url>jdbc:mysql://[host]:[porta]/[nome_base]</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password>123</password> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name><exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <!-- <security-domain>EncryptDBPasswordDS</security-domain> --> </local-tx-datasource> <no-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/webdeskQuartzDS</jndi-name> <connection-url>jdbc:mysql://[host]:[porta]/[nome_base]</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>[username]</user-name> <password>[senha]</password> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name><exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <!-- <security-domain>EncryptDBPasswordQuartzDS</security-domain> --> </no-tx-datasource> </datasources>
Acima estamos utilizando um exemplo com o Banco de Dados MySQL.
Copie todo código do ‘<local-tx-datasource>' a '</local-tx-datasource>' e cole abaixo da linha que contém o código '</no-tx-datasource>' conforme mostrado abaixo:
<?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/webdeskDS</jndi-name> <connection-url>jdbc:mysql://[host]:[porta]/[nome_base]</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>[username]</user-name> <password>[senha]</password> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name><exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <!-- <security-domain>EncryptDBPasswordDS</security-domain> --> </local-tx-datasource> <no-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/webdeskQuartzDS</jndi-name> <connection-url>jdbc:mysql://[host]:[porta]/[nome_base]</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>[username]</user-name> <password>[senha]</password> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <!-- <security-domain>EncryptDBPasswordQuartzDS</security-domain> --> </no-tx-datasource> <local-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/BancoecmDS</jndi-name> <connection-url>jdbc:mysql://[host]:[porta]/[nome_base]</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>[username]</user-name> <password>[senha]</password> <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name><exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <!-- <security-domain>EncryptDBPasswordDS</security-domain> --> </local-tx-datasource> </datasources>
Altere as linhas do novo <local-tx-datasource> conforme descrito abaixo:
Após este procedimento, salve as alterações e inicialize o serviço do TOTVS | ECM.
OBS: A conexão do TOTVS | ECM com um segundo Data Source pode ser realizada com outros modelos de banco também, obedecendo a Matriz de portabilidade da plataforma.
Abaixo apresentamos alguns exemplos com os bancos Oracle e SQL Server.
Se alguma configuração for realizada de forma incorreta será apresentada uma mensagem de erro no arquivo server.log disponível em <Instalação-ECM>/server/default/log.
<?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/webdeskDS</jndi-name> <connection-url>jdbc:oracle:thin:[host]:[porta]:[nome_base]</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>[username]</user-name> <password>[senha]</password> <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql> </local-tx-datasource> <no-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/webdeskQuartzDS</jndi-name> <connection-url>jdbc:oracle:thin:[host]:[porta]:[nome_base]</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>[username]</user-name> <password>[senha]</password> <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql> </no-tx-datasource> <local-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/ORA2DS</jndi-name> <connection-url>jdbc:oracle:thin:[host]:[porta]:[nome_base]</connection-url> <driver-class>oracle.jdbc.driver.OracleDriver</driver-class> <user-name>[username]</user-name> <password>[senha]</password> <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql> </local-tx-datasource> </datasources>
<?xml version="1.0" encoding="UTF-8"?> <datasources> <local-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/webdeskDS</jndi-name> <connection-url>jdbc:sqlserver://[host]:[porta];databaseName=[nome_base]</connection-url> <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> <user-name>[username]</user-name> <password>[password]</password> <check-valid-connection-sql>select 1</check-valid-connection-sql> <!-- <security-domain>EncryptDBPasswordDS</security-domain> --> </local-tx-datasource> <no-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/webdeskQuartzDS</jndi-name> <connection-url>jdbc:sqlserver://[host]:[porta];databaseName=[nome_base]</connection-url> <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> <user-name>[username]</user-name> <password>[password]</password> <check-valid-connection-sql>select 1</check-valid-connection-sql> <!-- <security-domain>EncryptDBPasswordQuartzDS</security-domain> --> </no-tx-datasource> <local-tx-datasource> <use-java-context>false</use-java-context> <jndi-name>jdbc/SQLECMDS</jndi-name> <connection-url>jdbc:sqlserver://[host]:[porta];databaseName=[nome_base]</connection-url> <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> <user-name>[username]</user-name> <password>[password]</password> <check-valid-connection-sql>select 1</check-valid-connection-sql> <!-- <security-domain>EncryptDBPasswordDS</security-domain> --> </local-tx-datasource> </datasources>
Observação
As informações contidas acima são exemplos para a utilização de dois Data Sources no TOTVS | ECM, contudo o procedimento de configuração é de responsabilidade do cliente.