数据库连接出了问题。求教各位大侠看看url对不对。 本帖最后由 hfh891020 于 2012-04-30 12:12:29 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 还想问下那个properties文件是干嘛的,代码里看不到它的调用呢? 是连接sql server 2000还是2005?两个的URL不一样 你用的URL应该没错,但你没有完整说出错误信息,你给出的信息是这句话: System.out.println("创建数据库连接失败!");而不是原始错误信息,请把: e.printStackTrace(); 它提示的错误信息列出来。【附】在sql server 2000 中加载驱动和URL路径的语句是:String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample"; 而sql server 2005 以上中加载驱动和url的语句则为String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample"; 不建议用JDBC,建议用持久框架,使用简单 #DB_URL(要连接数据库的地址)DB_URL=jdbc:mysql://127.0.0.1:3306/db_librarySys?user=root&password=111&useUnicode=true试试改成:#DB_URL(要连接数据库的地址)DB_URL=jdbc:microsoft:sqlserver://localhost:1433/db_librarySys?user=root&password=111&useUnicode=true另外你使用的是mysql数据库还是sql server 2000?两个数据库不同,url不同。而且驱动也不同。友情提示你有没有给工程加载数据库的驱动。还有就是你的数据库里面有没有对应的表。附:(jdbc模板我连接的是mysql)package cn.itcast.jdbc;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;public class Base { /** * @param args * @throws SQLException * @throws ClassNotFoundException */ public static void main(String[] args) throws Exception { template(); } static void test() throws SQLException{ //1.注册驱动 DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //2.建立连接 java.sql.Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/website", "root", "123"); //3.创建语句 java.sql.Statement st= conn.createStatement(); //4.执行语句 java.sql.ResultSet rs= st.executeQuery(" select * from user "); //5.处理结果 while(rs.next()){ System.out.print(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+rs.getObject(3)+"\t"+rs.getObject(4)); } //6.释放资源 rs.close(); st.close(); conn.close(); } static void template() throws ClassNotFoundException, SQLException { Connection conn=null; Statement st=null; ResultSet rs=null; try{ //2.建立连接 conn=JdbcUtils.getConnection(); //conn=JdbcUtilsSing.getInstance().getConnection(); //3.创建语句 st=conn.createStatement(); //4.执行语句 rs=st.executeQuery("select * from user"); //5.处理结果 while(rs.next()) { System.out.println(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+rs.getObject(3)+"\t"+rs.getObject(4)); } } //6.释放资源 finally{ JdbcUtils.free(rs,st,conn); } }} 代码只是个过程,仅供参考,里面有很多需要优化的地方,注册驱动就是个需要改的地方。 properties和xml文件是配置文件。对项目进行相关的配置,在没有用到工厂模式和servlet之前,可以先不用管他。 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample"; 楼主啊,说明你3楼所说的SQL Server版本是错的,误导大家啊。 smartupload 无法上传文件 得到的年不对,怎么回事? 请问投票结束后如何让生成的(报表能够出现动态效果) 怎么把文件的gbk编码转化为utf-8再读取内容 div的滚动条问题 N多天没有解决的问题(顶贴有分)!!!!!! 关于用户登陆问题,请高手进来。 Servlet如何向html传递数据? 删除问题!在线等待! 如何在jsp页面中调用asp页面? jquery放入jsp中失效 如何使用md5加密
System.out.println("创建数据库连接失败!");
而不是原始错误信息,请把:
e.printStackTrace();
它提示的错误信息列出来。
【附】
在sql server 2000 中加载驱动和URL路径的语句是:
String driverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String dbURL = "jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sample";
而sql server 2005 以上中加载驱动和url的语句则为
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
DB_URL=jdbc:mysql://127.0.0.1:3306/db_librarySys?user=root&password=111&useUnicode=true
试试改成:
#DB_URL(要连接数据库的地址)
DB_URL=jdbc:microsoft:sqlserver://localhost:1433/db_librarySys?user=root&password=111&useUnicode=true另外你使用的是mysql数据库还是sql server 2000?两个数据库不同,url不同。而且驱动也不同。
友情提示你有没有给工程加载数据库的驱动。还有就是你的数据库里面有没有对应的表。
附:(jdbc模板我连接的是mysql)
package cn.itcast.jdbc;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;public class Base { /**
* @param args
* @throws SQLException
* @throws ClassNotFoundException
*/
public static void main(String[] args) throws Exception {
template();
}
static void test() throws SQLException{
//1.注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2.建立连接
java.sql.Connection conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/website", "root", "123");
//3.创建语句
java.sql.Statement st= conn.createStatement();
//4.执行语句
java.sql.ResultSet rs= st.executeQuery(" select * from user ");
//5.处理结果
while(rs.next()){
System.out.print(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+rs.getObject(3)+"\t"+rs.getObject(4));
}
//6.释放资源
rs.close();
st.close();
conn.close();
}
static void template() throws ClassNotFoundException, SQLException
{
Connection conn=null;
Statement st=null;
ResultSet rs=null;
try{
//2.建立连接
conn=JdbcUtils.getConnection();
//conn=JdbcUtilsSing.getInstance().getConnection();
//3.创建语句
st=conn.createStatement();
//4.执行语句
rs=st.executeQuery("select * from user");
//5.处理结果
while(rs.next())
{
System.out.println(rs.getObject(1)+"\t"+rs.getObject(2)+"\t"+rs.getObject(3)+"\t"+rs.getObject(4));
}
}
//6.释放资源
finally{
JdbcUtils.free(rs,st,conn);
}
}
}
代码只是个过程,仅供参考,里面有很多需要优化的地方,注册驱动就是个需要改的地方。
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
楼主啊,说明你3楼所说的SQL Server版本是错的,误导大家啊。