呼呼~~~真不容易啊~~终于能在eclipse下成功连接数据库了,碰到好多问题,上了好多网站,问了好多高手~~~~终于能用啦~~~~O(∩_∩)O哈哈哈~
下面我就把具体的步骤和可能会碰到的问题都和大家说说吧~~~希望会对大家有所帮助吧~~(注:我用的是win7系统)
一 eclipse要 引入的包
大家要注意了,不同的数据库要引不同的包,而且sqlserver2000和sqlserver2008要引的包是不一样的,这点要特别注意啊!!
一开始我只引了jdbc的包,这是2000版本的,2008版本要引的是sqljdbc2.0驱动——Microsoft SQL Server JDBC Driver 2.0.exe,大家去网上搜就会有的,解压后运行里面的程序就可以得到sqljdbc4.jar和sqljdbc.jar,最好是2个都导进去吧,省的出问题。
二 eclipse引包方法
找到要引的包了,要怎么把它引进去呢?
右击你创建的工程,找到Build path ,选择 Add External Archives,找到你要导入的包,点击打开就可以引入了,引入后在工程下面的Referencede Libraries下便能显示这2个包了
三 创建数据库
既然是要用java连接数据库,当然你自己就要在sqlServer2008下创建一个你自己的数据库啦,现在我假设创建的数据库名为pro
四 创建数据源
在网上搜的很多java连接数据库的资料中都没用这一步,其实这一步是很重要的,也是你在编写程序时要用上的
在控制面板---管理工具中选择数据源,选择系统DNS选项卡,点击添加,选择SQLServer,点击完成,填入你自己取的数据源的名称,描述可以不用写,在服务器的选择中大家要注意了,一定要是你的sqlserver服务器的名称,并不一定就是下拉框中有选择的名称,我就是在这里纠结了好久久%>_<%,出现了如下图看上去不知道怎么解决的问题
找名称的方法是在你开启sqlserver2008时在连接的界面上会有服务器的名称,把它填入服务器名称框就可以了
点击下一步,选择你自己的数据库,一直下一步,到最后的时候可以测试哦~~~一般都会成功的
五 端口设置
这是一个很重要的问题,sqlserver2008的端口是动态的,会比较麻烦,在windows---所有程序----microsoft sqlserver的程序文件夹下会有个配置管理器,打开它,设为如下状态
点击TCP/IP打开,选择IP地址,因为我在后面的程序中用的IP地址是127.0.0.1,所以我设置了IP6和IPALL,IPALL TCP动态端口号一般为1433,这在程序里 是要用到的,所以要记着哦
设置完后,需要重启服务器,打开控制面板----管理工具-----服务,选择SQL Server(SQL....),右击,选择停止,停止后再点击启动,便是重启了
六 用户权限
做完以上的步骤,环境便差不多配置好了,接下来就是程序如何获取数据库权限了~~~
如果你是要自己设置的账号的话,你可以在控制面板------管理工具-----计算机管理中选择本地用户和组展开,右击用户,选择新用户,这样就可以在计算机中添加一个账号了,然后在数据库中的安全性---登录名,右击选择新建登录名,点击右方的搜索,
点击高级,立即查找,在下方便会出现计算机上的用户名了,选择你创建的用户名,点击确定
在用户映射的选项卡中选择你要连接的数据库,
同时,你需要在最上方的服务器中右击选择属性-----安全性----sql身份验证和windows身份验证模式
七 java代码
把上面的这些都做好了,接下来就是写代码咯~~以下是我的代码
package com.sql;
import java.sql.*;
public class Test2
{
public static void main(String[] args)
{
String JDriver="com.microsoft.sqlserver.jdbc.SQLServerDriver";//SQL数据库引擎
String connectDB="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=pro";//数据源注意IP地址和端口号,数据库名字!!!
try
{
Class.forName(JDriver);//加载数据库引擎,返回给定字符串名的类
}catch(ClassNotFoundException e)
{
//e.printStackTrace();
System.out.println("加载数据库引擎失败");
System.exit(0);
}
System.out.println("数据库驱动成功");
try
{
String user="abc";//你自己创建的用户名字和密码!!!!!!!!!!!!
String password="000000";
Connection con=DriverManager.getConnection(connectDB,user,password);//连接数据库对象
System.out.println("连接数据库成功");
Statement stmt=con.createStatement();//创建SQL命令对象
//创建表
System.out.println("查询");
System.out.println("开始读取数据");
ResultSet rs=stmt.executeQuery("SELECT * FROM 学生信息 where age=19");//返回SQL语句查询结果集(集合)
//循环输出每一条记录
while(rs.next())
{
//输出每个字段
System.out.println(rs.getString("stuId")+"\t"+rs.getString("NAME"));
}
System.out.println("读取完毕");
//关闭连接
stmt.close();//关闭命令对象连接
con.close();//关闭数据库连接
}
catch(SQLException e)
{
e.printStackTrace();
//System.out.println("数据库连接错误");
System.exit(0);
}
}
}
运行结果:
数据库驱动成功
连接数据库成功
查询
开始读取数据
200901 王军
读取完毕
一点心得:在自己初接触一样东西的时候,总会碰上问题的,有时候这些问题真让人发狂,纠结好久,试了好多方法都不行,但只要耐心,要相信问题都是有解决的办法的 ~~~然后你真的就可以解决它,这些解决问题的过程,也是你提升自己的过程~~~~