JDBC连接SQLServer出现的异常
课程设计的第一步:
用户登陆模块:就这个小模块把我整死了,出现的问题一个接着一个,最主要的就是数据库连接.
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方法,使第二条记录处于当前位置。
相关文档:
if exists (select * from dbo.sysobjects where name='SplitStr' )
drop FUNCTION SplitStr
go
CREATE FUNCTION SplitStr (@splitString varchar(8000), @separate varchar(10))
RETURNS @returnTable ......
SQL Server导出表到EXCEL文件的存储过程:
*--数据导出EXCEL
导出表中的数据到Excel,包含字段名,文件为真正的Excel文件
,如果文件不存在,将自动创建文件
,如果表不存在,将自动创建表
基于通用性考虑,仅支持导出标准数据类型
---*/
/**//*--调用示例
p_exporttb @tbname='地区 ......
【问题描述:】
一个用户表中的注册日期显示格式是:yyyy-mm-dd Thh:mm:ss.mmm 。而我想统计出每天的用户注册数,直接group注册日期字段显然是不行的。
【问题处理:】
利用SQLserver中的convert函数对日期进行转换转换。group转换后的日期。
【脚  ......
转换方法: convert(nvarchar(8),starttime,14)
100 (1, 2)
默认设置
mon dd yyyy hh:miAM(或 PM)
101
&nbs ......