赛迪网 > IT技术 Java > Java-企业应用
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

数据库相关:JDBC直连SQL Server 2005

发布时间:2008.02.26 08:46     来源:赛迪网    作者:twangjie

由于JDBC在连接SQL Server2005数据库时与SQL Server2000有些不同,配置要复杂一点。所以特意在此介绍连接方法!



 

具体步骤(SQL Server 2005必须为混合登录模式,例如:可以用“sa”登录):



   1、进入“SQL Server 配置管理器(SQL Server Configuration Manager)”,在左边窗口选择“SQL Server 2005网络配置”下面的分支??“SQL2005的协议”
   
   2、在右边窗口中右键点击“TCP/IP”,选“属性”,再选择“IP地址”,将表单中的“TCP端口”的值都改成1433(动态端口可以不改),然后点“确定”。
   
   3、重启“SQL Server”和“SQL Server Browser”这两项服务即可。

   4、在防火墙中打开1433端口。

   5、装入SQL Server 2005 JDBC驱动,编译时要添加到环境变量中。  下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=6D483869-816A-44CB-9787-A866235EFC7C&displaylang=en

Example:(编译时请确保正确装入了SQL Server 2005 JDBC驱动,如果运行后显示出10行数据则连接成功!)



import java.sql.*;
import javax.swing.JOptionPane;

public class SQL2005Test { 
    public static void main(String[] args) { 

        ResultSet result;
        String dbURL;
        
        String name=JOptionPane.showInputDialog("输入SQL Server 2005登录名:");
        String pass=JOptionPane.showInputDialog("输入SQL Server 2005密码");
        String server=JOptionPane.showInputDialog("输入要登录的数据库服务器的地址");
        String instance=JOptionPane.showInputDialog("输入要连接到的数据库实例(默认不填)");
        
          if(instance.trim().equals("")){
             dbURL= "jdbc:sqlserver://"+server;
          }
      
        else{
               dbURL="jdbc:sqlserver://"+server+"\\"+instance;
        }
        
        
    try { 
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        
        Connection con = DriverManager.getConnection(dbURL,name,pass);
    
        System.out.println("建立连接成功!"); 
    
        Statement stat=con.createStatement();
    
        result=stat.executeQuery("select TOP 10 * from master.dbo.spt_values");

        System.out.println("----------------------------------------------------------");
        
            int i=0;
            while(result.next())
            {
                i++;
                System.out.println(String.valueOf(i)+"  "+result.getString(1)+"  "+result.getString(2)+"  "+result.getString(3));
                
            }
        System.out.println("----------------------------------------------------------");
            
        }
    catch (Exception e){ 
        e.printStackTrace(); 
        }
    }

          (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 技术生涯:七个能走好IT技术之路的诀窍 (02-25) · 高级--深入浅析Spring的一些负面因素 (02-25)
· 进阶--学习J2SE过程中的30个基本概念 (02-25) · 浅析关于gc的执行机制 (02-25)
· 设计模式:Bridge模式 和Composite模式 (02-22) · JSP中include指令和include行为的区别 (02-22)
· J2SE综合:深入理解JavaHelp结构的好处 (02-22) · J2SE综合--对于JAVA基础知识精华总结 (02-22)
· Java语言深入:关于java数组的深度思考 (02-22) · J2SE综合:讨论关于Java占用内存的研究 (02-22)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 网银交易收费 我国银行业如何达国际化标准
· 家庭信息化普及率提高 网上缴费成为新时尚
· 五条黄金准则能够让CIO巧妙加薪 CIO焦虑调查
· 网上书店解决方案 深圳边检指挥中心ITSM项目
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统