用JDBC连接sql server 2005出现“无法打开登录 'XXX' 中请求的数据库。登录失败。” 30greencat123]

发布时间:2017-1-19 6:06:05 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"用JDBC连接sql server 2005出现“无法打开登录 'XXX' 中请求的数据库。登录失败。” 30greencat123]",主要涉及到用JDBC连接sql server 2005出现“无法打开登录 'XXX' 中请求的数据库。登录失败。” 30greencat123]方面的内容,对于用JDBC连接sql server 2005出现“无法打开登录 'XXX' 中请求的数据库。登录失败。” 30greencat123]感兴趣的同学可以参考一下。

用jdbc可以连接 sql server 2005里的系统数据库(如master)。但是新建了一个数据库testdb,却连接不上,为什么? 代码如下: public class Test { private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String URL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=testdb"; private static final String USER = "sa"; private static final String PASSWORD = "123456"; public static void main(String[] args) { // TODO Auto-generated method stub Connection con = null; try { Class.forName(DRIVER); con = DriverManager.getConnection(URL, USER, PASSWORD); if (con != null) { System.out.println("ok"); con.close(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }

sqlserver:127.0.0.1,1433 try

引用 1 楼 htl258 的回复:sqlserver:127.0.0.1,1433 try 恩,我也觉得应该是逗号

引用 1 楼 htl258 的回复:sqlserver:127.0.0.1,1433 try 试过了,不行啊。既然JDBC能连到系统数据库,是不是新建的数据库需要设置什么东西啊?

你的登陆账号是SA,最搞权限了

一、下载安装 1、SqlServer 2005 Express Edition    下载:http://msdn.microsoft.com/vstudio/express/sql/download/    安装完数据库后设置ICP/IP协议启动,具体如下:    (1)打开SQL Server Configuration Manager    (2)转到SQL Server 2005 Network Configuration->Protocols for SQLEXPRESS    (3)将TCP/IP设置为Enabled(启用)    (4)双击TCP/IP项,转到IP Addresses页    (5)IP All中设置TCP Port为1433    (6)重新启动服务 2、SqlServer2005数据库JDBC驱动    下载:http://download.microsoft.com/download/d/2/e/d2e1ffb6-2cfa-4a62-a22d-a413cce93118/Download_SQL_JDBC_Driver.htm    安装或者解压,取得sqljdbc.jar文件,该文件即为JDBC驱动。将sqljdbc.jar放到classpath。(web application中放在WEB-INF/lib下) 二、连接数据库SqlServer2005的java代码 1、在tempdb中创建测试数据表格 use tempdb CREATE TABLE dbo.Table_1 (  ID bigint NOT NULL,  NAME varchar(20) NOT NULL,  EMAIL varchar(50) NULL )  ON [PRIMARY] 2、测试使用数据库连接    下面代码创建了一个连接到数据库的连接,及使用连接操作数据库。 /*  * 创建日期 2006-6-1  */ package cn.afss.common.web.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.apache.log4j.Logger; /**  * @author Amei  * Amei's FreeSky Studio  */ public class TestConnSql2k5Bean {  /**   * Log4J Logger for this class   */  private static final Logger logger =   Logger.getLogger(TestConnSql2k5Bean.class);  private Connection conn = null;  public TestConnSql2k5Bean() {   super();  }  public void getConnection() {   try {    Class     .forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")     .newInstance();    String URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb";    String USER = "sa"; // 根据你自己设置的数据库连接用户进行设置    String PASSWORD = "sa"; // 根据你自己设置的数据库连接密码进行设置    conn = DriverManager.getConnection(URL, USER, PASSWORD);   } catch (java.lang.ClassNotFoundException ce) {    logger.error("Get Connection error:", ce);   } catch (java.sql.SQLException se) {    logger.error("Get Connection error:", se);   } catch (Exception e) {    logger.error("Get Connection error:", e);   }  }  public void testConnection() {   if (conn == null)    this.getConnection();   try {    String sql = "SELECT * FROM TABLE_1";    Statement stmt = conn.createStatement();    ResultSet rs = stmt.executeQuery(sql);    while (rs.next()) {     logger.debug(rs.getString("ID"));     logger.debug(rs.getString("NAME"));     logger.debug(rs.getString("EMAIL"));    }    rs.close();    stmt.close();   } catch (SQLException e) {    logger.error(e.getMessage(), e);   } finally {    if (conn != null)     try {      conn.close();     } catch (SQLException e) {     }   }  }  public static void main(String[] args) {   TestConnSql2k5Bean bean = new TestConnSql2k5Bean();   bean.testConnection();  } } 三、Sql Server2000和2005的连接代码区别    写连接代码时需要注意2000和2005的不同: 1、连接SqlServer2000   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();   URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=tempdb"; 2、连接SqlServer2005   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();   URL = "jdbc:sqlserver://localhost:1433;DatabaseName=tempdb"; 注:详细使用请参考MS JDBC中的官方文档。 结束。    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/libra1983/archive/2006/09/22/1266183.aspx帮你找了个参考资料,希望能解决.

谢谢ls贴这么多代码。这个tempdb(应该算是系统数据库)确实能连上,但是新建的数据库连不上!

新的连接不上 是不是因为新建立的数据库是在不同角色下创建的  ?

也就是说没有权限??

我是通过SQL Server Management Studio Express使用sa用户登录的,然后新建的数据库,角色那一块不怎么懂~

上一篇:数据库日志中发现有时帐号登录不了,但大多数情况下可以用,请问这是什么原因 40wch03521]
下一篇:怎么规定字段的显示位置 40a5918886]

相关文章

相关评论