XP系统下,用tomcat服务,在eclipse中调试时连接sqlserver 2000数据库连不上
我的操作步骤如下:1.XP系统下,我安装了sqlserver2000企业版,打补丁sp4;
2.新建了数据库,并用备份库恢复了数据;
3.用tomcat服务,在eclipse中调试时连接sqlserver 2000数据库.注:用相同的数据库,相同的代码在别人机器win2000上好使,怎么在winXP上就不好用.代码如下 :代码我觉得应该没问题,是copy过来的.
<!-- ============================== dataSource =========================== -->
<bean id="dataSource" 
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</property>
<property name="url">
<value>jdbc:microsoft:sqlserver://192.168.2.40:1433;DatabaseName=pync</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>
<bean id="sessionFactory" 
class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="mappingResources">
<list>
<!-- ===========================-sys-========================== -->
<value>com/wygl/xtgl/domain/User.hbm.xml</value>
        <value>com/wygl/xtgl/domain/Role.hbm.xml</value>
<value>com/wygl/xtgl/domain/UserRole.hbm.xml</value>
<value>com/wygl/xtgl/domain/Privilege.hbm.xml</value>
<value>com/wygl/xtgl/domain/RolePrivilege.hbm.xml</value>
<value>com/wygl/xtgl/domain/Model.hbm.xml</value>
<value>com/wygl/xtgl/domain/Department.hbm.xml</value>
<value>com/wygl/xtgl/domain/Employee.hbm.xml</value>
<!-- ============================== codeTable =========================== -->
<value>com/wygl/dmwh/domain/CodeNavigation.hbm.xml</value>
<value>com/wygl/dmwh/domain/CodeTable.hbm.xml</value>
<value>com/wygl/dmwh/domain/CodeCheck.hbm.xml</value>
<value>com/wygl/dmwh/domain/CodeTableEdit.hbm.xml</value>
<!-- ============================== cwgl =========================== -->
<value>com/wygl/cwgl/domain/Fygl.hbm.xml</value>
<!-- ============================== tjgl =========================== -->
<value>com/wygl/py_tjgl/domain/TjJbxx.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.jdbc.batch_size">25</prop>
<prop key="hibernate.use_outer_join">true</prop>
</props>
</property>
</bean>
<!-- ============================== TransactionManager  =========================== -->
<bean id="hibernateTransactionManager" 
class="org.springframework.orm.hibernate.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
<bean id="jdbcTransactionManager" 
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>

<!-- ============================== baseTransactionProxyBean  =========================== -->
<bean id="baseTransactionProxyBean" lazy-init="true" 
      class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> 
      <property name="transactionManager"> 
         <ref bean="hibernateTransactionManager" /> 
      </property> 
      <property name="transactionAttributes"> 
         <props> 
            <prop key="*">PROPAGATION_REQUIRED</prop>
         </props> 
      </property> 
    </bean>
    <!-- ============================== baseTransactionProxyBean for jdbc  =========================== -->
<bean id="baseJdbcTransactionProxyBean" lazy-init="true" 
      class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> 
      <property name="transactionManager"> 
         <ref bean="jdbcTransactionManager" /> 
      </property> 
      <property name="transactionAttributes"> 
         <props> 
            <prop key="*">PROPAGATION_REQUIRED</prop>
         </props> 
      </property> 
    </bean>
<!-- ============================== dbDao  =========================== -->
    <bean id="dbDaoTarget" class="com.wygl.dbdao.DbDaoImpl">
        <property name="dataSource">
<ref local="dataSource"/>
</property>
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
    </bean>
    <bean id="dbDao" parent="baseTransactionProxyBean">
<property name="target">
<ref local="dbDaoTarget"/>
</property>
</bean>

<!-- ============================== xtgl start  =========================== -->
<bean id="sysDao" parent="baseTransactionProxyBean">
<property name="target">
<bean id="sysDaoTarget" class="com.wygl.xtgl.service.SysDaoImpl">
<property name="dbDao">
<ref local="dbDaoTarget"/>
</property>
</bean>
</property>
</bean>
<bean id="deptService" parent="baseTransactionProxyBean">
<property name="target">
<bean id="deptServiceTarget" class="com.wygl.xtgl.service.DeptServiceImpl">
<property name="dbDao">
<ref local="dbDaoTarget"/>
</property>
</bean>
</property>
</bean>
    
</beans>部分错误代码如下:16:41:58,203  WARN JDBCExceptionReporter:38 - SQL Error: 0, SQLState: 08001
16:41:58,213 ERROR JDBCExceptionReporter:46 - [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
16:41:58,213  WARN JDBCExceptionReporter:38 - SQL Error: 0, SQLState: HY000
16:41:58,213 ERROR JDBCExceptionReporter:46 - [Microsoft][SQLServer 2000 Driver for JDBC]Connection refused: connect
16:41:58,243  WARN SettingsFactory:82 - Could not obtain connection metadata
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:142)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:130)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:118)
at org.springframework.orm.hibernate.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:49)
at net.sf.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:71)
at net.sf.hibernate.cfg.Configuration.buildSettings(Configuration.java:1091)
at net.sf.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:737)

解决方案 »

  1.   

    没有装SQL Server 2000 Driver for JDBC.exe?
      

  2.   

    XP系统下能装sql server 2000企业版
    如何裝啊, 教教我
      

  3.   

    whilliy(东浊北) :SQL Server 2000 Driver for JDBC.exe是需要另安装的吗?
    StarRains(星雨) :如何查查XP的防火墙,是否为正确?
    marco08:我找到告诉你
      

  4.   

    marco08:我已经在你的留言里告诉你如何 在XP下安装SQL2000企业版了
      

  5.   

    XP自带了windows防火墙,打开 控制面板-windows防火墙 看看是不是端口被禁用了
      

  6.   

    StarRains(星雨) :
    能说的具体点吗?
    是sqlserver 被禁用了,还是java?
    (我看 JAVA已画勾了,没有sqlserver,我添加程序,可找不到sqlserver企业版,)
    我应该在画勾的列表看到什么?端口该添什么?
    谢谢1
      

  7.   

    --  XP下安装SQL2000企业版
    需要在XP下安装SQL2000企业版,可是发现提示只能安装客户端。怎么办呢?SQL2000企业版本适用于WIN 2000系统,2003系统和XP一般装不了需要选用个人版。XP下安装装SQL2000企业版本方法以供参考。方法如下:
    一.在SQL服务器的安装盘中找到MSDE这个目录,并且点击setup.exe安装它,过程简单直接下一步就OK了。
      二. 重启系统WINDOWSXP,这下就可以看到SQL服务的图标出现了。
    三. 再拿出SQL服务器版的安装光盘,直接安装客户端工具(这个不要多说吧?最简单的方法就是直接点击光盘根目录下的autorun.exe)根据提示安装,自检过程中知道系统不是SERVER版,会提示只安装客户端工具。
    四. 打开企业管理器,试用SA用户连一下看看,是不是发现SA用户登陆失败?因为你还没有与信任SQL SERVER连接相关联。还好这个只要对系统注册表稍加修改就可以啦:在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\\SOFTWARE\\MICROSOFT\\MSSQLSERVER\\MSSQLSERVER],这个项里面有一个键值LoginMode,默认下,值是1,现在将值改为2,重启电脑。
    五. 再打开企业管理,再连接试试,OK了! 
    盼回复!!!
      

  8.   

    在运行cmd—telnet 机器名 1433 /telnet ip 1433
    看一下能不能连接
      

  9.   

    roy_88:我试了,说,不能打开到主机的连接,在端口1433:连接失败我应该怎么处理?
    谢谢!
      

  10.   

    我查看服务:MSSQLSERVER是启动的
      

  11.   

    我是在eclipse中用自己机器的服务连不上,连别人机器的服务是可以的