数据库操作时报这个错是怎么回事?
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(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)
at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83)
at com.zzr.main.Test.main(Test.java:39)
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String resource ="com/zzr/resource/SqlMapConfig.xml";
Reader reader= null;
SqlMapClient sqlMap = null;
try{
reader = Resources.getResourceAsReader( resource );
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
//sqlMap系统初始化完毕,开始执行update操作
// sqlMap.startTransaction();
// User user = new User();
// user.setId(new Integer(1));
// user.setName("Erica");
// user.setSex(new Integer(1));
// sqlMap.update("updateUser",user);
// sqlMap.commitTransaction();
sqlMap.startTransaction();
String name = new String("selina");
User user = (User)sqlMap.queryForObject("getUser", name);
sqlMap.commitTransaction();
}catch(Exception ex){
ex.printStackTrace();
}
finally{
try{
sqlMap.endTransaction();
}catch(SQLException ex){
ex.printStackTrace();
}
}
}
}//============User.xml =======<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
<typeAlias alias="user" type="com.zzr.entiy.User"/>
<select id="getUser" parameterClass="java.lang.String" resultClass="user">
<![CDATA[
select name, sex from t_user where name = #name#
]]>
</select>
<update id="updateUser" parameterClass="user">
<![CDATA[
UPDATE t_user SET name=#name#,usex=#sex# WHERE id = #id#
]]>
</update>
<insert id="insertUser" parameterClass="user">
INSERT INTO t_user (name,sex) VALUES (#name#,#sex#)
</insert>
<delete id="deleteUser" parameterClass="java.lang.String">
delete from t_user where id = #value#
</delete>
</sqlMap>
//================= SqlMapConfig.xml ====================
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig><settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<property name="JDBC.ConnectionURL" value="jdbc:microsoft:sqlserver://localhost/test/SelectMethod=Cursor"/>
<property name="JDBC.Username" value="sa"/>
<property name="JDBC.Password" value="123"/>
<property name="Pool.MaximumActiveConnections" value="10"/>
<property name="Pool.MaximumIdleConnections" value="5"/>
<property name="Pool.MaximumCheckoutTime" value="120000"/>
<property name="Pool.TimeToWait" value="500"/>
<property name="Pool.PingQuery" value="select 1 from ACCOUNT"/>
<property name="Pool.PingEnabled" value="false"/>
<property name="Pool.PingConnectionsOlderThan" value="1"/>
<property name="Pool.PingConnectionsNotUsedFor" value="1"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/zzr/resource/User.xml"/>
</sqlMapConfig>
//=======================User类================
package com.zzr.entiy;import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;public class User implements Serializable {
private Integer id;
private String name;
private Integer sex;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
}
各位帮我看看 那个错是怎么回事?是因为SP4补丁没打上吗?
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(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)
at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)
at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)
at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:566)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:541)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:83)
at com.zzr.main.Test.main(Test.java:39)
public class Test { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String resource ="com/zzr/resource/SqlMapConfig.xml";
Reader reader= null;
SqlMapClient sqlMap = null;
try{
reader = Resources.getResourceAsReader( resource );
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
//sqlMap系统初始化完毕,开始执行update操作
// sqlMap.startTransaction();
// User user = new User();
// user.setId(new Integer(1));
// user.setName("Erica");
// user.setSex(new Integer(1));
// sqlMap.update("updateUser",user);
// sqlMap.commitTransaction();
sqlMap.startTransaction();
String name = new String("selina");
User user = (User)sqlMap.queryForObject("getUser", name);
sqlMap.commitTransaction();
}catch(Exception ex){
ex.printStackTrace();
}
finally{
try{
sqlMap.endTransaction();
}catch(SQLException ex){
ex.printStackTrace();
}
}
}
}//============User.xml =======<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="User">
<typeAlias alias="user" type="com.zzr.entiy.User"/>
<select id="getUser" parameterClass="java.lang.String" resultClass="user">
<![CDATA[
select name, sex from t_user where name = #name#
]]>
</select>
<update id="updateUser" parameterClass="user">
<![CDATA[
UPDATE t_user SET name=#name#,usex=#sex# WHERE id = #id#
]]>
</update>
<insert id="insertUser" parameterClass="user">
INSERT INTO t_user (name,sex) VALUES (#name#,#sex#)
</insert>
<delete id="deleteUser" parameterClass="java.lang.String">
delete from t_user where id = #value#
</delete>
</sqlMap>
//================= SqlMapConfig.xml ====================
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE sqlMapConfig
PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig><settings
cacheModelsEnabled="true"
enhancementEnabled="true"
lazyLoadingEnabled="true"
errorTracingEnabled="true"
maxRequests="32"
maxSessions="10"
maxTransactions="5"
useStatementNamespaces="false"
/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<property name="JDBC.ConnectionURL" value="jdbc:microsoft:sqlserver://localhost/test/SelectMethod=Cursor"/>
<property name="JDBC.Username" value="sa"/>
<property name="JDBC.Password" value="123"/>
<property name="Pool.MaximumActiveConnections" value="10"/>
<property name="Pool.MaximumIdleConnections" value="5"/>
<property name="Pool.MaximumCheckoutTime" value="120000"/>
<property name="Pool.TimeToWait" value="500"/>
<property name="Pool.PingQuery" value="select 1 from ACCOUNT"/>
<property name="Pool.PingEnabled" value="false"/>
<property name="Pool.PingConnectionsOlderThan" value="1"/>
<property name="Pool.PingConnectionsNotUsedFor" value="1"/>
</dataSource>
</transactionManager>
<sqlMap resource="com/zzr/resource/User.xml"/>
</sqlMapConfig>
//=======================User类================
package com.zzr.entiy;import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;public class User implements Serializable {
private Integer id;
private String name;
private Integer sex;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getSex() {
return sex;
}
public void setSex(Integer sex) {
this.sex = sex;
}
}
各位帮我看看 那个错是怎么回事?是因为SP4补丁没打上吗?
1、通过url连接的时候指定的服务器名称或者服务器地址不正确,这一点你可以通过ping来验证。
2,指定的服务器上的sql server的服务没有启动,你可以通过sql server的查询工具来验证这个问题。
3,指定端口错误,sql server的默认端口是1433。
4,sql server没有提供tcp/ip的服务,你可以通过sql server的管理工具来查看这个问题。
5,如果你的系统是 windows XP 或者 Windows 2003,那么你的sql server一定要升级到sp3以上.网上摘录: