JAVA jdbc连接数据库出问题

importjava.sql.*;publicclassDemo_01{publicstaticvoidmain(String[]args){PreparedStatem... import java.sql.*;
public class Demo_01 {

public static void main(String[] args) {
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
try {
//Class.forName("com.microsolf.jdbc.sqlserver.SQLServerDriver");
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test1");
System.out.println("1");
ps=ct.prepareStatement("select * from Table_1");
rs=ps.executeQuery();
System.out.println("2");
while (rs.next()) {
System.out.println("3");
int id=rs.getInt("ID");
String name=rs.getString("Name");
System.out.println(id+" "+name);
}
} catch (Exception e) {
// TODO: handle exception
}finally{

}
}
}

到ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test1");
这句就跳出了System.out.println("1");都没打出来
除了什么问题 Jar包导入了。。。。。
报的错误时java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test1
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Demo_01.main(Demo_01.java:11)
展开
 我来答
wzhz
2013-09-11
知道答主
回答量:18
采纳率:0%
帮助的人:12.2万
展开全部
ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test1");这个 方法有三个参数,后面还有两个参数是用户名和密码。你连接的数据库的用户名和密码。像你这样不写用户名和密码我没试过,不知道具体原因是不是我说的,不过你可以试下。

刚查了下api,也可以只有一个参数。你再看看数据库是不是用windows的管理员登录上去的,数据库是否已经打开。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nsrainbow
2013-09-11 · TA获得超过5195个赞
知道大有可为答主
回答量:2151
采纳率:0%
帮助的人:1679万
展开全部

教你一个方法,你这边之所以跳出来没有报异常是因为你 catch的范围不够广,把 

catch (Exception e){
    // TODO: handle exception
}


改成

catch (Throwable e){
  e.printStackTrace();
}

然后再运行一遍,会打印出异常,然后你 把异常整个粘贴在 追加问题 哪里,然后我们就好解决问题了

追问
贴在上面了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友561251d
2013-09-11 · TA获得超过185个赞
知道小有建树答主
回答量:324
采纳率:0%
帮助的人:110万
展开全部
你连接的sqlserver 版本多少阿?
你把 你的“ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=Test1");

改成“ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=Test1");

你这个不会是 windows 身份登录的吧?
要是 windows 登录还有别的限制的...
追问
2008 windows 身份登录
追答
windos 身份验证需要将sqljdbc包中的sqljdbc_auth.dll文件
C:/Program Files/Microsoft SQL Server 2005 JDBC Driver/sqljdbc_1.2/enu/auth/x86/sqljdbc_authdll, 把找到的这个文件放到 C:/WINDOWS/system32目录下。
注意:如果运行32位的JVM,则x86文件夹中的sqljdbc_auth.dll文件,即使操作系统是x64版本也不例外。如果在x64处理器上运行64位的JVM,则使用x64文件夹中的sqljdbc_authdll文件。如果在IA-64处理器上运行64位JVM,则使用IA64文件夹中的sqljdbc_auth.dll
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
典勇嘉谋
2013-09-11 · TA获得超过362个赞
知道小有建树答主
回答量:308
采纳率:100%
帮助的人:141万
展开全部
可能你的写法有问题吧。去掉microsoft看看。一般我们用下面这种就够,你那个我不知道行不行。

jdbc:sqlserver://192.168.27.251:1435
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雨琅67
2013-09-11 · 超过29用户采纳过TA的回答
知道答主
回答量:133
采纳率:100%
帮助的人:86.8万
展开全部
什么问题,JDBC 3个方法写好,连接好,端口号写好,就不会有太大问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式