Home

TOTVS | Plataformas e tecnologias

Árvore de páginas

Índice

 

Plataforma

Produto:  ECM

Versão: 3.00

 

Ocorrência

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?

 

Causa

Dificuldades em efetuar conexão de dois Data Sources no TOTVS | ECM.

 

Solução

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:

    • <jndi-name>jdbc/[nome]DS</jndi-name>
    • <connection-url>jdbc:mysql://[host]:[porta]/[nome do outro banco]</connection-url>
    • <user-name>[usuário de acesso ao banco]</user-name>
    • <password>[senha de acesso ao banco]</password>

     

    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.

     

     

    Exemplo de comunicação com dois Data Sources – Oracle

     

    <?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>


    Exemplo de comunicação com dois Data Sources – SQL Server
     

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