数据库问题?

CMIC 2003-12-10 10:49:00
错误提示:[Microsoft][SQLServer JDBC Driver]The specified SQL type is not supported by this driver.

代码:
package oa.DataAccess;
import java.sql.*;
public class User {
private Connection _Cn=null;
private ResultSet _Users=null;
private String _UserID="";
private String _LoginName="";
private String _UserName="";
private String _AllName="";
private String _PassWord="60FD7DD82EA95B91";//默认为空
private byte _Verify=3;//默认值3
private String _State="1";
private String _Note="";//备注
private java.util.Date _UpDateTime;
private String _UpUserID="";
private String _ErrMsg="";
public User() {
_Cn=new jdbcCn().getCn();
}

public ResultSet getUsers()
{
try
{
Statement mStmt=_Cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
_Users=mStmt.executeQuery(" select * from PubSystemUser ");
}
catch(Exception ex)
{
ex.getStackTrace();
System.out.print("User is Nothing!!!");
}
return _Users;
}
public void Close()
{
try
{
if(_Users!=null)
{
_Users.close();
}
if (_Cn.isClosed() == false) {
_Cn.close();
}
}
catch(Exception ex)
{
ex.getStackTrace();
System.out.print("Close is Fail!!!");
}
}
//设置登录ID
public void setLoginName(String value)
{
_LoginName=value;
}
//设置用户真实姓名
public void setAllName(String value)
{
_AllName=value;
}
//设置备注
public void setNote(String value)
{
_Note=value;
}
public void setUpUserID(String value)
{
_UpUserID=value;
}
private boolean getUserID()
{
try
{
String mSql = "select max(UserID) " +
" from PubSystemUser ";
Statement mStmt = _Cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet mRs = mStmt.executeQuery(mSql);
mRs.last();
if(mRs.getRow()==0)
{
_UserID="001";
}
else
{
int mID=Integer.parseInt(mRs.getString("UserID"))+1;
}
return true;
}
catch(Exception ex)
{
ex.getStackTrace();
System.out.print("Insert is Fail!!!");
return false;
}
}
public boolean Insert()
{
try
{
if(getUserID())
{
throw new Exception("Get UserID is fail!");
}
String strSql = "INSERT INTO PubSystemUser " +
"(UserID, LoginName, UserName, AllName, PassWord, Verify, State, Note, "+
"UpDateTime, UpDateUserID)"+
"VALUES (?,?,?,?,?,?,?,?,?,)";
PreparedStatement pstmt = _Cn.prepareStatement(strSql);
if(_UpUserID.trim()=="")
{
_UpUserID=_UserID;
}
pstmt.setString(1,_UserID);
pstmt.setString(2,_LoginName);
pstmt.setString(3,_UserName);
pstmt.setString(4,_AllName);
pstmt.setString(5,_PassWord);
pstmt.setByte(6,_Verify);
pstmt.setString(7,_State);
pstmt.setString(8,_Note);
pstmt.setObject(9,_UpDateTime);
pstmt.setString(10,_UpUserID);
pstmt.executeUpdate();
pstmt.close();
_Cn.close();
return true;
}
catch(Exception ex)
{
ex.getStackTrace();
_ErrMsg=ex.getMessage();
System.out.print("Insert is fail!!!");
return false;
}
}
public String GetErrMsg()
{
return _ErrMsg;
}
}
执行Insert()函数出现错误,数据库是SQL 2000,Note类型是Text。
...全文
56 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
giftxi 2003-12-10
  • 打赏
  • 举报
回复
数据库驱动不支持某种数据类型。
CMIC 2003-12-10
  • 打赏
  • 举报
回复
to giftxi(alfred)
看错误提示也是驱动不支持某种数据类型。
数据库Sql Server2000,数据类型char,varchar,tinyint,text,datetime
请帮我分析一下是那个不行,怎么解决。
我用的是 MS Sql server 2000 for jdbc驱动。
//附加数据库 sp_attach_db 当使用 sp_attach_db 系统存储过程附加数据库时。 sp_attach_db:将数据库附加到服务器。 语法 sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数 [@dbname =] 'dbname' 要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n' 数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。 参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。 该列表还必须包括数据库分离后所有被移动的文件。 返回代码值:0(成功)或 1(失败) eg:下面的示例将 pubs 中的两个文件附加到当前服务器。 EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf' EXEC sp_attach_db @dbname = N'Ty20051029101451aaa', @filename1 = N'd:\5屏幕\Ty20051029101451aaa_data.mdf', @filename2 = N'd:\5屏幕\Ty20051029101451aaa_log.ldf' ---解决问题了 //删除数据库 DROP DATABASE 从Microsoft? SQL Server? 删除一个或多个数据库。删除数据库将删除数据库所使用的数据库文件和磁盘文件。 语法 :DROP DATABASE database_name [ ,...n ] 参数 :database_name 指定要删除的数据库名称。从 master 数据库中执行 sp_helpdb 以查看数据库列表。 eg: exec sp_helpdb database_name exec Drpo DataBase [Ty20051029101451aaa] //分离数据库 可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。 sp_detach_db Archive GO CREATE DATABASE Archive ON PRIMARY (FILENAME = 'c:\program files\microsoft sqlserver\mssql\data\archdat1.mdf') FOR ATTACH GO //显示当前数据库信息 --select * from Master..sysDatabases //新建---不行啊 CREATE DATABASE TestOA ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE TestOA From disk='C:\Documents and Settings\Administrator\桌面\帐套\data\Template.Dat' ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE exec sp_detach_db Km20051030011601 --分离数据库 exec sp_attach_single_file_db km20051030011601,'D:\TestDatabase\Km20051030011601.mdf'--只附加.mdf文件

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧