java远程连接SQLServer2005服务器

java 专栏收录该内容
24 篇文章 0 订阅

      项目催的急,机器还不给力,花了整3天时间才搞通局域网内SQLServer2005的连接,现在心中多少有些激动,把我在连接过程中遇到的一些问题和解决方法和大家分享下。

      1,花了两天找合适版本(网上很多不行),最终用的 Microsoft SQL Server 2005简体中文开发版.RAR。(sqlserver2005对机器有很配置,系统有要求,导致有些其他版本装不上)

      2,安装(要配置IIS等)

      3,开启服务器,注意要配置外围设备的端口(1433)和服务(确保开启,如果没有开启,就开启并重新启动SQL的相关服务)。

      4,关闭诺顿等玩意,关闭防火墙。

      5,在另一台机器上用 telnet 172.16.15.110 1433 看能否访问服务器的1433端口。

      6,在服务器上数据库引擎中新建管理员(用户名:sa ,密码:123123),并授予管理员登陆和访问的权限。

       7,在客户机上打开SQL Server management studio 选择数据库引擎,服务器(172.16.15.110),SQLServer身份认证(用户名:sa ,密码:123123)。

    OK! 到此 ,局域网内客户机可以访问服务器上的数据库了。我们可以写在服务器数据库OilFieldData上单击右键建立查询,写入语句“select * from UserInfo”,执行就可以返回数据库上的表了。

      做到这里 我有小有点儿高兴了,但是接下来在eclipse中用java语句连接访问服务器上的数据库着实让我纠结了一阵子。尝试了很多搞法,最终通了。做法如下:

      1,在数据源上配置数据源:用户DSN,选择DBASE Files,添加,选择最后一项SQLserver

数据源:conn,选择SQLServer验证 ,在登陆ID填写sa ,密码123123,下一步,选择自己服务器上的数据库OilFieldData,下一步下一步下一步。。

      2,在Eclipse中添加sqljdbc4.jar的外部库(方法是在我们所建立的java项目上右击选择buildpath->configeration build path->libraries->Add External Jars->找到你自己下载的sqljdbc4.jar),完成以后你的引入窗口会多一个Reference Libraries ,在这里你可以看到你所添加的sqljdbc2.jar库。

     3,编写java程序

import java.sql.*;
public class DatabaseConn {
 public void getConnection(){
  Connection con=null;
  Statement stmt=null;
  ResultSet rs=null;
  String dburl="jdbc:odbc:conn";
  String dbuser="sa";
  String dbpwd="123";  
  try{
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
   con=DriverManager.getConnection(dburl,dbuser,dbpwd);
   if(con!=null){
    System.out.println("feikong");
   }
   else {
    System.out.println("kong");
   }
   stmt=con.createStatement();
   
   String query="select * from UserInfo";
   rs=stmt.executeQuery(query);
   if(rs.next()){
    int id=rs.getInt(1);
    System.out.println(id);
   }
   
   
  }catch(SQLException e){
   e.printStackTrace();
  }catch (ClassNotFoundException e) {  
   e.printStackTrace();
  }
  try{
   
   if(con!=null){
    con.close();
   }   
  }catch(SQLException e){
   e.printStackTrace();
  }   
 }
}

4,execute this program and you will see the result like this :

feikong
2

5,原理如下:

欢迎转载,请注明出处:http://writeblog.csdn.net/PostEdit.aspx

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

import java.sql.*; import jdbc.DBManager; import jdbc.DBManagerTest; /** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author * @version 1.0 */ /** * DBManager示例程序 */ public class Test { public Test() { } public static void main(String[] args) { DBManagerTest DBManagerTest1 = new DBManagerTest(); DBManager db_manager = new DBManager(); ResultSet result = null; // 数据库查询结果 try { db_manager.connect("rcms"); // 建表 db_manager .execute("create table table22 (c1 varchar(32) not null,c2 varchar(21))"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表更新操作,包括insert,update,delete db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow1','engine1')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow2','engine2')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow3','engine3')"); db_manager .executeUpdate("insert into table22 (c1,c2) values('workflow4','engine4')"); db_manager.beginTransaction(); // for(int i=1500;i<2000;i++){ //// db_manager.executeUpdate("insert into T_USER (USER_ID, USER_NAME, ORG_ID, PASSWD, OLD_PASSWD, STATION, CREAT_DATE, CREAT_TIME, ALTER_DATE, ALTER_TIME, DEL_DATE, TEL, EMAIL, STATUS, SEX, ACADEMIC, CERTI_TYPE, CERTI, FAX, ADRESS, POSTCODE, BAK1, BAK2, BAK3, BAK4, BAK5)values ('test00"+i+"', 'test00"+i+"', '0001 ', 'FF5E61835C355E755EEF9321 ', 'A43B59E342F86CEE5EEF9321 ', '0 ', '20071201', '101010', null, null, null, null, null, '1', null, null, null, null, null, null, null, null, null, null, null, null)"); // db_manager.executeUpdate("insert into T_USER_ROLE values('test00"+i+"','sys_admin','')"); // if(i%300==0)db_manager.commitTransaction(); // } } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } try { // 表查询操作,返回结果集存在DBResult类中,DBResult中的数据库查询结果已与数据库断开连接了, // 不能动态更新,注意在并发操作中应重新执行表查询操作 result = db_manager.executeQuery("select * from table22"); } catch (SQLException x) { x.printStackTrace(); try { db_manager.disconnect(); } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } System.err.print("数据库操作失败!"); } // int rows = result.getRows(); //返回的记录数 try { while (result.next()) { String s = result.getString("c1");// 取第4条记录c1的字段 System.out.println(s); s = result.getString("c2"); System.out.println(s); } } catch (SQLException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } }
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值