基于Myeclipse编程,平台J2EE1.4 数据库:sql server 2005  驱动:sqljdbc.jar 
端口号改过了
控制台:
警告: DbConnectionManager.getConnection() 获得数据库链接失败.
链接类型:com.microsoft.jdbc.sqlserver.SQLServerDriver
链接位置:jdbc:microsoft:sqlexpress://localhost:1433;DatabaseName=db_shop
用户/密码sa/123456
Java代码如下:
package com.wgh.DB;import java.sql.*;
import java.io.*;
import java.util.*;public class connDB {
  public Connection conn = null;
  public Statement stmt = null;
  public ResultSet rs = null;
  private static String propFileName = "C:/connDB.properties";
  private static Properties prop = new Properties();
  private static String dbClassName =
      "com.microsoft.jdbc.sqlserver.SQLServerDriver";
  private static String dbUrl =
      "jdbc:microsoft:sqlexpress://localhost:1433;DatabaseName=db_shop";
  private static String dbUser = "sa";
  private static String dbPwd = "123456";
  private static void loadProperty() {
    try {
      prop.load(new FileInputStream(propFileName));  //通过文件输入流对象加载Properties文件
      dbClassName = prop.getProperty("DB_CLASS_NAME");
      dbUrl = prop.getProperty("DB_URL",
                               "jdbc:microsoft:sqlexpress://localhost:1433;DatabaseName=db_shop");
      dbUser = prop.getProperty("DB_USER", "sa");
      dbPwd = prop.getProperty("DB_PWD", "123456");
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }
}

解决方案 »

  1.   

    你用的static用错了.
    你在定义static变量时已经给变量赋值,而在后面的静态方法中的赋值是不能赋的,因为静态变量只有一次赋值 的机会,要么在定义的时候,要么在静态块中.
    所以你写的静态方法loadProperty没有起作用.
    试试就明白了.
      

  2.   

    链接字符串应该是这样的
    jdbc:sqlserver://localhost:1433;databaseName=mydb
      

  3.   

    端口号改过了,要改为你改了之后的那个端口号吧。另外
    dbUrl = prop.getProperty("DB_URL",
                                  "jdbc:microsoft:sqlexpress://localhost:1433;DatabaseName=db_shop");
          dbUser = prop.getProperty("DB_USER", "sa");
          dbPwd = prop.getProperty("DB_PWD", "123456"); 
    貌似有问题,get能有两个参数吗?我没用过Properties,不明白。
    另外其他的连接过程也就是Class.forName(driverName);
    然后 DriverManager.conncetion(url,user,pwd);之类的,
      

  4.   

    我认为应该是:jdbc:sqlserver://localhost:端口号;databaseName=mydb
      

  5.   


    package com.蜗牛;import java.io.FileInputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.Properties;public class 网络蜗牛{
      private static  String dbClassName; 
      private static  String dbUrl;
      private static  String dbUser; 
      private static  String dbPwd; 
      private Connection connection=null;
      public Connection getConnection(){
      loadProperty();
      try {
    Class.forName(dbClassName);
      connection=DriverManager.getConnection(dbUrl, dbUser, dbPwd);
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return connection;
      
      }
      private static void loadProperty() { 
      Properties prop = new Properties();
        try { 
          prop.load(new FileInputStream("C:/connDB.properties"));//通过文件输入流对象加载Properties文件 
          dbClassName = prop.getProperty("DB_CLASS_NAME"); 
          dbUrl = prop.getProperty("DB_URL"); 
          dbUser = prop.getProperty("DB_USER"); 
          dbPwd = prop.getProperty("DB_PWD"); 
        } 
        catch (Exception e) { 
          e.printStackTrace(); 
        } 
      } 
      public static void main(String[] args) {
      Connection connection=new Test().getConnection();
      if(connection!=null){
      System.out.println("连接数据成功");
      }else {
    System.out.println("连接失败");
    }
    }
    }
      

  6.   


    DB_CLASS_NAME=com.microsoft.jdbc.sqlserver.SQLServerDriver;
    DB_URL=jdbc:microsoft:sqlexpress://localhost:1433;DatabaseName=db_shop;//注意你的是否是1433
    DB_USER=sa;
    DB_PWD=123456;
      

  7.   

     这个是你的配置文件C:/connDB.properties里面的内容 建议将属性文件放在src下
     代码改为prop.load(new FileInputStream("connDB.properties"));//放在其他地方有可能访问不到
     可以在
       
        dbClassName = prop.getProperty("DB_CLASS_NAME"); 
              dbUrl = prop.getProperty("DB_URL"); 
              dbUser = prop.getProperty("DB_USER"); 
              dbPwd = prop.getProperty("DB_PWD"); 
       
      后面加上System.out.println(dbPwd);//看属性文件是否得到值
      

  8.   

    你用2005的jar包在myeclipse的database explorer里设置一个链接 里面的class name是直接从jar包里取的  你再试一下确认通过了 在把url和class name都放到程序里去
      

  9.   

    private static String dbUrl = 
          "jdbc:microsoft:sqlexpress://localhost:1433;DatabaseName=db_shop"; 
    这一句中要不要microsoft效果是一样的,全可以连接,估计是端口有问题
      

  10.   

    jdbc:microsoft:sqlexpress://localhost:1433;DatabaseName=db_shop 
    应该把sqlexpress改成sqlserver
      

  11.   

    2005Sqlserver
    a、驱动字符串:  com.microsoft.sqlserver.jdbc.SQLServerDriver    
    b、数据库连接字符串 jdbc:sqlserver://<server_name>:<port>[;databaseName=<dbname>]
      

  12.   

    String driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
    String URL="jdbc:sqlserver://localhost:1433;DataBaseName=master";
    String username="sa";
    String password="";
    Class.forName(driverClassName);
    Connection con=DriverManager.getConnection(URL,username,password);
      

  13.   

    "jdbc:microsoft:sqlexpress://localhost:1433;DatabaseName=db_shop"); 这个的问题。加个com.
      

  14.   

      开始>>程序>>Microsoft SQL Server 2005>>配置工具>>SQL Server Configuration Manager>>SQL Server 2005网络配置>>MSSQLSERVER的协议>>TCP/IP",右键,属性,在"ip地址"选项页可以看到. 
       可以修改它如果你的机子是有还原卡的话你就要看一下这里是否是1433咯...