您的位置:首页 > 数据库

JDBC连接SQLServer出现的异常

2009-11-26 08:26 435 查看
课程设计的第一步:
用户登陆模块:就这个小模块把我整死了,出现的问题一个接着一个,最主要的就是数据库连接.

question1.
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
异常原因:没有导入导驱动包sqljdbc.jar.

question2.
com.microsoft.sqlserver.jdbc.SQLServerException: 没有为集成身份验证配置驱动程序
异常原因:打sqlserver2005的sp3的补丁,然后将数据库设置为用windows+sqlserver双重验证。

question3.
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 ‘xxx’ 无效
异常原因:访问数据库的用户有登录权限,但无操作表的权限
解决办法:
1. 在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里将你使用的登陆用户的默认数据库设为你所使用的数

据库。
2. 在[企业控制台]窗口–[树]子窗口–[安全性]子树–[登录]项里新增一个登录用户(在其中选择SQL Server 身份验证

、服务器角色和要访问的数据库),以后便可用些新增用户访问你勾选的数据库了。

question4.
java.sMS-sql 2005 ''xxx'' (数据库 ''xxx'',架构 ''dbo'')的 SELECT 权限
异常原因:Sql server 2005 默认设置下不允许远程登陆
1 外围设置 tcp/ip 和 named pipe 同时启用
2 服务器 --〉属性 --〉安全性 --〉sql server 和windows 认证模式 ,数据库(xxx) --->安全性---->架构---->dbo(属

性)--->权限--->添加--->浏览-->
[public]---->具有授予权限(select)

question5.
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor

position.
异常原因:ResultSet实例res没有移动指针位置。一个ResultSet指针最初的位置在第一条记录之前,第一次调用next方法

使第一条记录处于当前位置,第二次调用next方法,使第二条记录处于当前位置。

question6.

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]No ResultSet set was produced

异常原因:No ResultSet was produced是没有生成记录集,通常在executeQuery(sql)的时候如果是sql为更新、删除或者插入的时候,

就不能用 ResultSet rs=aq.executeQuery(sql);而直接用executeQuery;因为没有生成记录集

executeQuery(sql)是返回一个ResultSet类型,而ResultSet 又是A table of data representing a database result set ,

该异常是修改了数据库但是没有得到返回对象的错误,而executeUpdate是int类型的,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐