关于java连接sqlserver数据库的一系列问题的解决方法

时间:2022-05-05 13:15:47

 

老师让座一个作业,大概的目的就是让我们了解如何让java程序去连接数据库,对于初学者来说,根本就没有一点概念就是怎样去连接,所以,今天我就把我的一些经验分享给大家!

 

我以我们老师给的一个做好的项目的为例,来详细的的给大家分析每一步该怎样做,当运行程序抛出异常又该怎样去解决!好吧,废话不多,开始!

 

首先第一步

附加数据库SQL Server

(1)安装sqlserver,版本要求至少是sqlserver2000,高版本更好,因为高版本毕竟功能要多一些,但是在这个项目中sqlserver2012在操作过程中会出现一些问题,这里先不做讨论

(2)将Database文件夹中的扩展名为db_library_Data.MDF和db_library_Log.LDF的两个文件拷贝到SQL Server安装路径下的Data文件夹中(这个应该自己会找吧,这里就不阐述了,因为每个人安装路径不同)。这里为什么要先拷贝到这个目录下在附件,是因为涉及到一个NTFS权限的问题,所以为了少一些麻烦,就干脆将这个文件拷贝到Date文件夹中。

(3)这里就是根据你不同的数据库管理系统也就是sqlserver的不同版本来进行了,

一、如果你是2000,那么,你的步骤是:

1.打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。

2.将弹出“附加数据库”对话框,在该对话框中单击【...】 按钮,选择所要附加数据库的db_library_Data.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。

二、如果你是2005,2008,2012,那么步骤基本上一样

1.开始菜单,然后打开你的SQL Server Manage Studio,然后登陆,登陆的时候请检查你的服务打开没有!

2.登陆成功后,找到右边菜单“数据库”,

关于java连接sqlserver数据库的一系列问题的解决方法

右键数据库,在弹出下拉框中选择“附加(A)..”,弹出下面这个窗口:

关于java连接sqlserver数据库的一系列问题的解决方法

 

然后点击“添加(A)...”,弹出的“定位数据库文件”窗口,然后找到刚才拷贝到Date文件夹的db_library_Data.MDF,然后一路确定下去就可以了。到此,数据库附加的工作就完成了,但是这里,需要注意的就是sqlserver2012会在最后一步的时候提示出错:

关于java连接sqlserver数据库的一系列问题的解决方法

点击他所说的超链接:

关于java连接sqlserver数据库的一系列问题的解决方法

他说不兼容,我擦,当时就无语了,因为我的就是2012版本的,于是我想了一个办法,而且最后经验证,我的想法是对的,把这个问题给解决掉了,大概步骤如下:

1.找到一个安装有2008的机器,然后将db_library_Data.MDF附加上去,因为2008不会出现这个错误,附加成功后,刷新数据库,选择刚刚附加的这个数据库,也就是db_library_Data,右键,弹出的下拉选择菜单,鼠标移到“任务”然后选择任务里面的“备份”,弹出这个窗口:关于java连接sqlserver数据库的一系列问题的解决方法

记住你备份的文件的位置,备份文件的后缀名一般为.bak;然后点击确定,这样,数据库就备份好了。接下来,就是在磁盘中找到刚才的备份文件,将他拷到你的电脑(安装了2012的那个)上,打开sqlserver manage studio,选择右边树状菜单的“数据库”,右键,“还原数据库”;看到如下窗口:

关于java连接sqlserver数据库的一系列问题的解决方法

选择“设备“,然后单击右边的那个”...“按钮

关于java连接sqlserver数据库的一系列问题的解决方法

选择刚好你在另外一台2008备份的那个.bak文件,

关于java连接sqlserver数据库的一系列问题的解决方法

关于java连接sqlserver数据库的一系列问题的解决方法

然后,一路确定下去;最后,你就可以看到你想要的结果了。

到此,数据库部分真正的结束。

二。发布与运行

(1)启动eclipse,然后单击菜单栏的”File“菜单,弹出下拉选择框,选择”导入(Import)“

关于java连接sqlserver数据库的一系列问题的解决方法

 

然后在弹出的视图窗

关于java连接sqlserver数据库的一系列问题的解决方法

 

选择红圈部分,然后next,再选择你需要导入的工程项目所在文件

 

关于java连接sqlserver数据库的一系列问题的解决方法

 

 注意红圈部分:

关于java连接sqlserver数据库的一系列问题的解决方法

 

 finish.

(2)然后到下一部(这一步比较容易出错),如果你的是sqlserver2000的话,按照如下步骤:

1.找到这个地方

 

关于java连接sqlserver数据库的一系列问题的解决方法

2.双击它出现他的编辑窗口,要将原先他的连接字符串做一定的修改,连接字符串在下图红色部分,将它改成你登陆sqlserver的用户名和密码,其他部分可以暂时不变

关于java连接sqlserver数据库的一系列问题的解决方法

 

 

 

3.然后一步就是在项目上单击鼠标右键,依次选择“新建”/“文件夹”命令,新建一个“lib”文件夹,然后,将SQL
Server 2000
数据库驱动文件“msbase.jarmssqlserver.jarmsutil.jar”拷到该文件夹中。在该文件上单击鼠标右键,选择“构建路径”/“添加至构建路径”命令。

好了,到此可以运行了,步骤为:

在导入工程的src文件中,找到可执行的主类,在该类上单击鼠标右键,选择“运行方式”/“Java应用程序”项,如图关于java连接sqlserver数据库的一系列问题的解决方法

这样就可以登陆了。

那么对于我们是sql2005还有更高版本的情况下,该怎样解决

步骤(1)完全相同,到步骤(2)的第1步也相同,到了第2步,这个地方就开始有所不同了,划红线的地方都需要做修改

 

关于java连接sqlserver数据库的一系列问题的解决方法

改为如下:

第一个:protected static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//这是因为连接的jdbc的版本不同造成的
 protected static String dbUrl = "jdbc:sqlserver://localhost:1433;"//这是因为连接的jdbc的版本不同造成的
   + "DatabaseName=db_library;SelectMethod=Cursor";
 protected static String dbUser = "sqlserver用户名";
 protected static String dbPwd = "sqlserver用户对应的密码";

这个地方就该到这里就行了,然后到了下一步构建数据库驱动文件的时候了,在这里,由于是高版本的sqlserver2005或者更高的版本,所以要选择高版本的jdbc4.0,这里附链接:http://pan.baidu.com/share/link?shareid=119022&uk=1259821484,下载完以后解压,找到sqljdbc.jar,sqljdbc4.jar这两个文件,这时候又要看你安装的java虚拟机的版本了,

sqljdbc.jar 类库要求使用 5.0 版的 Java 运行时环境 (JRE)。连接到数据库时,在 JRE 6.0 上使用 sqljdbc.jar 会引发异常。JDBC 驱动程序不支持 JRE 1.4。使用 JDBC Driver 时必须将 JRE 1.4 升级至 JRE 5.0 或 JRE 6.0。在某些情况下,您可能需要重新编译应用程序,因为它可能与 JDK 5.0 或更高版本不兼容。有关详细信息,请参阅 Sun Microsystems 网站上的文档。

sqljdbc4.jar 类库提供对 JDBC 4.0 的支持。它不仅包括 sqljdbc.jar 的所有功能,还包括新增的 JDBC 4.0 方法。sqljdbc4.jar 类库要求使用 6.0 版的 Java 运行时环境 (JRE)。在 JRE 1.4 或 5.0 上使用 sqljdbc4.jar 会引发异常。如果应用程序必须在 JRE 6.0 上运行,即使该应用程序不使用 JDBC 4.0 功能,也应使用 sqljdbc4.jar

怎样看自己jre版本,步骤:开始 -> 运行->cmd -> java -version  ,这样就可以看到了,这样,你就可以选择到底是选择sqljdbc4.jar 还是sqljdbc.jar ,做出选择后在项目上单击鼠标右键,依次选择“新建”/“文件夹”命令,新建一个“lib”文件夹,然后,将SQL
Server 2005或者更高版本数据库驱动文件“sqljdbc4.jar (sqljdbc.jar) ”拷到该文件夹中。在该文件上单击鼠标右键,选择“构建路径”/“添加至构建路径”命令。

到此,高版本的也基本上完成了,可能在连接的过程中还会出现一些异常,比如可能的就是sqlserver的服务没开启,端口没开启,这个地方很是要注意,因为默认是关着的,一定要打开打开

关于java连接sqlserver数据库的一系列问题的解决方法

上面打开过后,还要确定下图的地方打开了:

关于java连接sqlserver数据库的一系列问题的解决方法

大概就是这么多了,能想到的也就这么多了,有问题可以给我留言