JDBC直连SQL Server 2005

来源:互联网 发布:ubuntu 无线 掉线 编辑:程序博客网 时间:2024/05/22 06:59

由于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(); 
        }
    }

 
原创粉丝点击