Problemas JDBC + SQL Server

1,575 views
Skip to first unread message

Jaime Catalan

unread,
May 5, 2009, 5:48:56 PM5/5/09
to ju...@googlegroups.com
Hola,

Tengo problemas al intentar conectar desde mi aplicación Java al Servidor SQL Server 2005.

Estoy utilizando Spring DAO. Este es el aplication-context

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

     
    <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">   
        <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=Northwind;user=sa;password=password;"/>

    </bean>
     
    <!--
    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="jdbc/postgresql" />
    </bean>    
     -->
    <!-- Configure DAO -->   
    <bean id="regionDao" class="cl.grupochc.dao.RegionDaoImpl">
        <property name="dataSource" ref="dataSource"/>
    </bean>   
   
    <!-- Configure Business Service -->
    <bean id="REGION_BUSINESS"
        class="cl.grupochc.businness.RegionBusinessServicesImpl" >
        <property name="dao">
            <ref bean="regionDao"></ref>
        </property>
    </bean>   

********************************

Esta es la traza de la consola:


05-05-2009 05:37:49 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@1386000: display name [org.springframework.context.support.ClassPathXmlApplicationContext@1386000]; startup date [Tue May 05 17:37:49 CLT 2009]; root of context hierarchy
05-05-2009 05:37:49 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [Spring-Config.xml]
05-05-2009 05:37:49 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
INFO: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@1386000]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3
05-05-2009 05:37:49 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3: defining beans [dataSource,regionDao,REGION_BUSINESS]; root of factory hierarchy
05-05-2009 05:37:50 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:37:51 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:37:53 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:37:54 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:37:55 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:37:56 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:37:57 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:37:58 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:38:00 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:38:01 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:38:03 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
05-05-2009 05:38:04 PM com.microsoft.sqlserver.jdbc.SQLServerConnection Prelogin
ADVERTENCIA: ConnectionID:1 Prelogin error: host localhost port 1433 Error reading prelogin response: Connection reset
Exception in thread "main" org.springframework.dao.DataAccessResourceFailureException: Error retreiving database metadata; nested exception is org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Connection reset)
    at org.springframework.jdbc.core.metadata.CallMetaDataProviderFactory.createMetaDataProvider(CallMetaDataProviderFactory.java:135)
    at org.springframework.jdbc.core.metadata.CallMetaDataContext.initializeMetaData(CallMetaDataContext.java:265)
    at org.springframework.jdbc.core.simple.AbstractJdbcCall.compileInternal(AbstractJdbcCall.java:276)
    at org.springframework.jdbc.core.simple.AbstractJdbcCall.compile(AbstractJdbcCall.java:262)
    at org.springframework.jdbc.core.simple.AbstractJdbcCall.checkCompiled(AbstractJdbcCall.java:321)
    at org.springframework.jdbc.core.simple.AbstractJdbcCall.doExecute(AbstractJdbcCall.java:336)
    at org.springframework.jdbc.core.simple.SimpleJdbcCall.execute(SimpleJdbcCall.java:164)
    at cl.grupochc.dao.RegionDaoImpl.insert(RegionDaoImpl.java:70)
    at cl.grupochc.dao.RegionDaoImpl.insert(RegionDaoImpl.java:1)
    at cl.grupochc.businness.RegionBusinessServicesImpl.insert(RegionBusinessServicesImpl.java:37)
    at cl.grupochc.businness.RegionBusinessServicesImpl.insert(RegionBusinessServicesImpl.java:1)
    at cl.grupochc.cliente.Cliente.main(Cliente.java:30)
Caused by: org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Connection reset)
    at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:287)
    at org.springframework.jdbc.core.metadata.CallMetaDataProviderFactory.createMetaDataProvider(CallMetaDataProviderFactory.java:71)
    ... 11 more
Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Connection reset)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
    at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:274)
    ... 12 more
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Connection reset)
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:859)
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:544)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:79)
    ... 13 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1368)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1355)
    at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1532)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(SQLServerConnection.java:1133)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1054)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:833)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:716)
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
    at org.apache.commons.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
    at org.apache.commons.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
    at org.apache.commons.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:881)
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:855)
    ... 16 more


Saludos

Jaime.

Jose Coronel

unread,
May 5, 2009, 6:21:35 PM5/5/09
to ju...@googlegroups.com
Jaime

Prueba con esta configuracion (pasando el usuario y contraseña a traves de las propiedades del BasicDataSource).

<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
p:driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
p:url="jdbc:sqlserver://localhost:1433/Northwind"
p:username="sa"
p:password="password" />

Ademas, te recomiendo usar mejor JDTS en ves del driver de Microsoft.


Saludos


José Coronel


2009/5/5 Jaime Catalan <jaime.c...@gmail.com>

Jaime Catalan

unread,
May 5, 2009, 9:12:13 PM5/5/09
to ju...@googlegroups.com
La verdad es que tengo un problema con el puerto y/o el firewall de xp.
Este es el mensaje que me arroja la consola.

"java.net.SocketTimeoutException: Receive timed out". Verifique los nombres del servidor y de instancia, compruebe que no hay ningún firewall bloqueando el tráfico UDP al puerto 1424 y, para SQL Server 2005 o posterior, verifique que el servicio SQL Server Browser se está ejecutando en el host.

Alguna sugerencia?


2009/5/5 Jose Coronel <jcorone...@gmail.com>



--
Jaime Catalán.
jaime.c...@gmail.com
Móvil: 82946507

Reply all
Reply to author
Forward
0 new messages