JDBC连接别机器上sql server很慢30秒

lkkjx 2005-05-16 07:14:26
我用JDBC写的程序连接自己自己机器上的数据库很快,而连接别的机器上的数据库很慢,在连接过程就要30秒。一但连接上后执行SELECT操作又很快。不知道大家有见过这样的情况没。
数据库是SQL SERVER2000 打了SP3,JDK是1.4。2,TOMCAT 5

import java.util.ResourceBundle;

public class config {
public String DBdriver;
public String DBname;
public String DBuser;
public String DBpwd;
public String DBurl;
private String DBLibName;

public config() {
DBdriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

//读取数据库设置文件

ResourceBundle readIni = ResourceBundle.getBundle("DB");
DBname = readIni.getString("DBip");
DBuser = readIni.getString("user");
DBpwd = readIni.getString("pass");
DBLibName = readIni.getString("DBname");

DBurl = "jdbc:microsoft:sqlserver://" + DBname + ":1433;DatabaseName=" + DBLibName;

}
}


public ResultSet ExeQuery(String s)
{
try
{
conn = DriverManager.getConnection(DBurl,DBuser,DBpwd);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE ,ResultSet.CONCUR_READ_ONLY);

rs = stmt.executeQuery(s);
}
catch(SQLException sqlexception)
{
System.err.println("aq.executeQuery:" + sqlexception.getMessage());
}
return rs;
}
...全文
160 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingzhuang 2005-05-17
  • 打赏
  • 举报
回复
原因很多
libin53 2005-05-17
  • 打赏
  • 举报
回复
你的连接如果是第一次连接,那慢的合理的啊,
连到别的数据库,不是本地的, 要验证用户名和密码;
如果对方有放火墙或者由于你的网络环境不好,也有可能啊,
或者对方是电信你的网通,也是很慢的,
连接后就不用做验证,速度就快啦
lkkjx 2005-05-17
  • 打赏
  • 举报
回复
谢谢各位,建立连接池后就好了。可惜第一次还是要30秒,内部的网络。大家也是这样的情况吗?
ayace 2005-05-17
  • 打赏
  • 举报
回复
呵呵,上面都说过了。
jihanzhong 2005-05-16
  • 打赏
  • 举报
回复
用连接池~
LabAdmin 2005-05-16
  • 打赏
  • 举报
回复
建立连接需要时间,就是比较慢,采用连接池后,只要有可用的连接就不再建立新的连接,速度就快了,查一下tomcat5的联机文档,上面有说明。
LabAdmin 2005-05-16
  • 打赏
  • 举报
回复
用tomcat的连接池就快了
lilidan 2005-05-16
  • 打赏
  • 举报
回复
连接别人机器很慢很正常啊,不过30秒好像稍多了点。连接别人机器通讯需要的热启动时间的确是比较长。不用太过担心!
xiangbo520 2005-05-16
  • 打赏
  • 举报
回复
你的机子和那台机器是在同一局域网中吗?你们两台机器之间的连接是否正常。。。。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧