{"id":889,"date":"2016-07-20T06:12:48","date_gmt":"2016-07-20T09:12:48","guid":{"rendered":"https:\/\/www.semeru.com.br\/blog\/?p=889"},"modified":"2022-12-21T13:13:28","modified_gmt":"2022-12-21T16:13:28","slug":"configurando-uma-conexao-sql-server-no-jboss-com-jtds","status":"publish","type":"post","link":"https:\/\/www.semeru.com.br\/blog\/configurando-uma-conexao-sql-server-no-jboss-com-jtds\/","title":{"rendered":"Configurando uma Conex\u00e3o SQL Server no JBoss com JTDS"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Existem dois drivers que podem ser utilizados para criar uma conex\u00e3o via <strong>JBoss<\/strong> e um banco <strong>MSQL Server<\/strong>. Um \u00e9 o <strong>Microsoft JDBC Driver<\/strong> da <strong>Microsoft<\/strong> e o outro \u00e9 o <strong>JTDS<\/strong>. Muitos dizem que o \u00faltimo \u00e9 superior ao oficial da <strong>Microsoft<\/strong> e neste post falaremos justamente dele. Para configurar ele no JBoss seguiremos alguns passos bem simples:<\/p>\n<p>&nbsp;<\/p>\n<p><strong>1.<\/strong> Primeiro baixe o driver no <a href=\"http:\/\/sourceforge.net\/projects\/jtds\/files\/\" target=\"_blank\" rel=\"noopener\"><strong>SourceForge<\/strong><\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>2.<\/strong> No seu <strong>JBOSS_HOME<\/strong> crie diret\u00f3rios respeitando a seguinte hierarquia <strong>&#8220;modules\\net\\sourceforge\\jtds\\main&#8221;<\/strong>. Dentro desse diret\u00f3rio coloque o <strong>jar<\/strong> rec\u00e9m baixado <strong>jtds-1.3.1.jar<\/strong>(vers\u00e3o atual) e crie um novo arquivo chamado <strong>module.xml<\/strong> com o seguinte conte\u00fado:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;!--?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;--&gt;\n&lt;module xmlns=&quot;urn:jboss:module:1.0&quot; name=&quot;net.sourceforge.jtds&quot;&gt;\n   &lt;resources&gt;\n      &lt;resource-root path=&quot;jtds-1.3.1.jar&quot;&gt;\n   &lt;\/resource-root&gt;&lt;\/resources&gt;\n   &lt;dependencies&gt;\n      &lt;module name=&quot;javax.api&quot;&gt;\n      &lt;module name=&quot;javax.transaction.api&quot;&gt;\n   &lt;\/module&gt;&lt;\/module&gt;&lt;\/dependencies&gt;\n&lt;\/module&gt;\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>3.<\/strong> Agora precisamos modificar nosso <strong>standalone.xml<\/strong> adicionando as configura\u00e7\u00f5es abaixo \u00e0 se\u00e7\u00e3o de <strong>datasources<\/strong>:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;datasource jndi-name=&quot;java:jboss\/datasources\/SeuDatabase&quot; pool-name=&quot;SeuDatabase&quot; enabled=&quot;true&quot; use-java-context=&quot;true&quot;&gt;\n   &lt;connection-url&gt;jdbc:jtds:sqlserver:\/\/localhost:1433\/SeuDatabase&lt;\/connection-url&gt;\n   &lt;driver&gt;jtds&lt;\/driver&gt;\n   &lt;security&gt;\n      &lt;user-name&gt;seu_usuario&lt;\/user-name&gt;\n      &lt;password&gt;sua_senha&lt;\/password&gt;\n   &lt;\/security&gt;\n&lt;\/datasource&gt;\n<\/pre>\n<p>&nbsp;<\/p>\n<p>E na se\u00e7\u00e3o <strong>drivers<\/strong>:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;driver name=&quot;jtds&quot; module=&quot;net.sourceforge.jtds&quot;&gt;\n   &lt;driver-class&gt;net.sourceforge.jtds.jdbc.Driver&lt;\/driver-class&gt;\n&lt;\/driver&gt;\n<\/pre>\n<p>&nbsp;<\/p>\n<p>O resultado final deve ser similar a configura\u00e7\u00e3o abaixo:<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;subsystem xmlns=&quot;urn:jboss:domain:datasources:1.2&quot;&gt;\n   &lt;datasources&gt;   \n\n      &lt;datasource jndi-name=&quot;java:jboss\/datasources\/SeuDatabase&quot; pool-name=&quot;SeuDatabase&quot; enabled=&quot;true&quot; use-java-context=&quot;true&quot;&gt;\n         &lt;connection-url&gt;jdbc:jtds:sqlserver:\/\/localhost:1433\/SeuDatabase&lt;\/connection-url&gt;\n         &lt;driver&gt;jtds&lt;\/driver&gt;\n         &lt;security&gt;\n            &lt;user-name&gt;seu_usuario&lt;\/user-name&gt;\n            &lt;password&gt;sua_senha&lt;\/password&gt;\n         &lt;\/security&gt;\n      &lt;\/datasource&gt;   \n\n      &lt;drivers&gt;\n         &lt;driver name=&quot;jtds&quot; module=&quot;net.sourceforge.jtds&quot;&gt;\n            &lt;driver-class&gt;net.sourceforge.jtds.jdbc.Driver&lt;\/driver-class&gt;\n         &lt;\/driver&gt;\n      &lt;\/drivers&gt;\n   &lt;\/datasources&gt;\n&lt;\/subsystem&gt;\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Essa \u00e9 a configura\u00e7\u00e3o mais b\u00e1sica de todas e acredito que ser\u00e1 o suficiente para voc\u00ea come\u00e7ar a se conectar com uma base <strong>MSQL Server<\/strong> para solu\u00e7\u00f5es mais complexas use o Google e sua criatividade. No pr\u00f3ximo post explicaremos como fazer a mesma coisa s\u00f3 que dessa vez usando o <strong>Microsoft JDBC Driver<\/strong> da <strong>Microsoft<\/strong>.<\/p>\n<p>&nbsp;<\/p>\n<h2>Treinamentos relacionados com este post<\/h2>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_rest_spring_java\" target=\"_blank\" rel=\"noopener\"><\/p>\n<p><img decoding=\"async\" style=\"max-width: 100%;\" title=\"REST API's RESTFul do 0 \u00e0  AWS com Spring Boot 3, Java e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/07-rest-spring-java.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_rest_asp_net\" target=\"_blank\" rel=\"noopener\"><\/p>\n<p><img decoding=\"async\" style=\"max-width: 100%;\" title=\"REST API's RESTFul do 0 \u00e0 Azure com ASP.NET Core 5 e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/01-rest-asp.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_rest_spring_kotlin\" target=\"_blank\" rel=\"noopener\"><br \/>\n        <img decoding=\"async\" style=\"max-width: 100%;\" title=\"REST API's RESTFul do 0 \u00e0 AWS com Spring Boot 3, Kotlin e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/18-rest-spring-kotlin.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_microservices_java\" target=\"_blank\" rel=\"noopener\"><br \/>\n        <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Microservices do 0 com Spring Cloud, Spring Boot e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/14-microservices-java.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_microservices-dotnet\" target=\"_blank\" rel=\"noopener\"><br \/>\n        <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Arquitetura de Microsservi\u00e7os do 0 com ASP.NET, .NET 6 e C#\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/15-microservices-dotnet.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_ms_kotlin\" target=\"_blank\" rel=\"noopener\"><br \/>\n        <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Microsservi\u00e7os do 0 com Spring Cloud, Kotlin e Docker\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/22-ms-kotlin.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_docker\" target=\"_blank\" rel=\"noopener\"><br \/>\n        <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Docker do 0 \u00e0 Maestria: Cont\u00eaineres Desmistificados mais 3 B\u00d4NUS\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/09-docker.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_docker_para_aws\" target=\"_blank\" rel=\"noopener\"><br \/>\n        <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Docker para Amazon AWS Implante Apps Java e .NET com Travis CI\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/10-docker-to-aws.png\"><br \/>\n<\/a><\/p>\n<p><a href=\"https:\/\/pub.erudio.com.br\/kr\/blog_kotlin\" target=\"_blank\" rel=\"noopener\"><br \/>\n        <img decoding=\"async\" style=\"max-width: 100%;\" title=\"Kotlin para DEVs Java: Aprenda a Linguagem Padr\u00e3o do Android\" src=\"https:\/\/raw.githubusercontent.com\/leandrocgsi\/blog-images\/main\/20-kotlin.png\"><br \/>\n<\/a><\/p>\n<div align=\"right\"><div class=\"sharexyWidgetNoindexUniqueClassName\"><div id=\"shr_10891033\"><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>&nbsp; Existem dois drivers que podem ser utilizados para criar uma conex\u00e3o via JBoss e um banco MSQL Server. Um \u00e9 o Microsoft JDBC Driver da Microsoft e o outro \u00e9 o JTDS. Muitos dizem que o \u00faltimo \u00e9 superior ao oficial da Microsoft e neste post falaremos justamente dele. Para configurar ele no JBoss [&#8230;]<\/p>\n<div align=\"right\">\n<div class=\"sharexyWidgetNoindexUniqueClassName\">\n<div id=\"shr_10891033\"><\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[220,114,113,218,219,217,221],"tags":[202,201,224,222,225,223],"_links":{"self":[{"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/posts\/889"}],"collection":[{"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/comments?post=889"}],"version-history":[{"count":9,"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/posts\/889\/revisions"}],"predecessor-version":[{"id":1549,"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/posts\/889\/revisions\/1549"}],"wp:attachment":[{"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/media?parent=889"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/categories?post=889"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.semeru.com.br\/blog\/wp-json\/wp\/v2\/tags?post=889"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}