温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JDBC的实例分析

发布时间:2021-12-14 11:20:49 来源:亿速云 阅读:179 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关JDBC的实例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

JDBC实例前提

1.SQL Server 2000 任意版本     //本人用的是企业版

2.SQL Server 2000 sp3升级包

你可以在这里下载http://www.bossed.com.cn/download/detailcp.asp?id=74

3.SQL Server 2000 jdbc 驱动   //这个就需要自己找了!

4.jdk1.4 //以下的例子是该版本

在以上条件满足的情况下,作以下事情

1.建立新数据库名为:jspdev ,并在其中建立一个名为userinfo的表

包括以下几列(Sno,Sname,Sage,Ssex,Sclass) 

2.开始编写你自己的连接数据库的类(我这里是借鉴他人的版权不归我所有),你也可以用自己的方法

import java.sql.*;  class Testj{       public static void main(String args[])       {             String RL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TESTDB";           String user ="jack";//这里替换成你自已的数据库用户名           String password = "jack";//这里替换成你自已的数据库用户密码           String sqlStr = "select * from test_student";            try{     //这里的异常处理语句是必需的.否则不能通过编译!                   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");               System.out.println( "类实例化成功!" );               System.out.println("slkdjf");               Connection con = DriverManager.getConnection(RL,user,password);               System.out.println( "创建连接对像成功!" );                Statement st = con.createStatement();               System.out.println( "创建Statement成功!" );                ResultSet rs = st.executeQuery( sqlStr );               System.out.println( "操作数据表成功!" );               System.out.println( "----------------!" );                while(rs.next())               {                   System.out.print(rs.getInt("Sno") + "     ");                   System.out.print(rs.getString("Sname") + "     ");                   System.out.print(rs.getInt("Sage") + "     ");                   System.out.print(rs.getString("Ssex") + "     ");                   System.out.println(rs.getString("Sclass"));               }               rs.close();               st.close();               con.close();           }           catch(Exception err){               err.printStackTrace(System.out);           }       }  }

下面进行调试:

javac Testj.java

java Testj

如果JDBC实例正确输出应该是:

类实例化成功!

slkdjf

创建连接对像成功!

创建Statement成功!

操作数据表成功!

----------------!

2000     海拔               21     男     12       

注意:这里有几点要说明

1.路径问题:

你必须配置你的classpath路径否则他在编译时会报错   

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver          at java.net.URLClassLoader$1.run(URLClassLoader.java:199)          at java.security.AccessController.doPrivileged(Native Method)          at java.net.URLClassLoader.findClass(URLClassLoader.java:187)          at java.lang.ClassLoader.loadClass(ClassLoader.java:289)          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)          at java.lang.ClassLoader.loadClass(ClassLoader.java:235)          at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)          at java.lang.Class.forName0(Native Method)          at java.lang.Class.forName(Class.java:141)          at Test.main(Test.java:11)

你的路径应该是这样配置:你可以在在安装jdbc驱动后看那里的帮助文档(是英文的);

//这里指在xp系统下  classpath = .;G:\Microsoft SQL Server 2000 \Driver for JDBC\lib\msbase.jar;                 G:\Microsoft SQL Server 2000 \Driver for JDBC\lib\mssqlserver.jar;                 G:\Microsoft SQL Server 2000 \Driver for JDBC\lib\msutil.jar;

可千万不要写错哟!

2.sp3补丁包问题:

如果你在编译时出现下列问题 那么你需要下载并安装sp3补丁包

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis  ng socket.         at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)         at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)         at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)         at com.microsoft.jdbc.sqlserver.tds.TDSConnection.(Unknown Source)         at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)         at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)         at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)         at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)         at java.sql.DriverManager.getConnection(Unknown Source)         at java.sql.DriverManager.getConnection(Unknown Source)         at Test.main(Test.java:14)

3.权限问题   

如果你出现类似这样的问题

类实例化成功!

slkdjf  java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'jack' 登录失败。  原因: 未与信任 SQL Server 连接相关联。       at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)       at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)       at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)       at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)       at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)       at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)       at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)       at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)       at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)       at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)       at java.sql.DriverManager.getConnection(DriverManager.java:512)       at java.sql.DriverManager.getConnection(DriverManager.java:171)       at Testj.main(Testj.java:14)

原困是未设置SQL Server登录认证模式为混合认证模式,因为SQL Server默认安装后认证模式为WINDOWS认证模式,从而导致出错。

JDBC实例问题解决方法:启动SQLSERVER企业管理器,选择要进行认证模式设置的服务器。右击该服务器,在弹出菜单中选择属性,SQL Server将弹出属性对话框在属性对话框中选择安全性选项,在身份验证处选择“SQL Server和Windows”,然后确定。

感谢各位的阅读!关于“JDBC的实例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI