紧急求助:JNDI连接SQLServer数据库出错,[在线等待]

blue_bat 2004-12-17 10:23:47
错误提示如下:
2004-12-17 10:23:46 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet RSCMIN_Servlet threw exception
java.lang.NoSuchFieldError: transliterator
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processColMetaData(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSExecuteRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQuery(Unknown Source)
at org.apache.tomcat.dbcp.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
at common.database.Conn.OpenQuery(Conn.java:41)
at base.bean.BaseBean.OpenRecords(BaseBean.java:40)
at base.bean.RSCMIN_Bean.Init(RSCMIN_Bean.java:213)
at base.servlet.RSCMIN_Servlet.doPost(RSCMIN_Servlet.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:731)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)

实在不知道怎么处理.......已经郁闷三天了....
...全文
147 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
onlyxu 2004-12-17
  • 打赏
  • 举报
回复
没有找到数据源,在控制台中配置好Sql Server数据源就行了
onlyxu 2004-12-17
  • 打赏
  • 举报
回复
没有找到数据,在控制台中配置好Sql Server数据源就行了
blue_bat 2004-12-17
  • 打赏
  • 举报
回复
/**
* 项目: PANJIN
* 包: base.bean
* 类: RSCMIN_Bean.java
*/
package base.bean;

public class RSCMIN_Bean extends BaseBean
{
private String ennmcd = null;
private String infndt = null;
private String aduncd = null;
private String adunnm = null;
private String dmstatpl = null;
private String bldt = null;
private String encl = null;
private String lvbslv = null;
private String dlblp = null;
private String rscci = null;
private String exqs = null;
private String rm = null;
public String getAduncd() {
return aduncd;
}
public void setAduncd(String aduncd) {
this.aduncd = aduncd;
}
public String getAdunnm() {
return adunnm;
}
public void setAdunnm(String adunnm) {
this.adunnm = adunnm;
}
public String getBldt() {
return bldt;
}
public void setBldt(String bldt) {
this.bldt = bldt;
}
public String getDlblp() {
return dlblp;
}
public void setDlblp(String dlblp) {
this.dlblp = dlblp;
}
public String getDmstatpl() {
return dmstatpl;
}
public void setDmstatpl(String dmstatpl) {
this.dmstatpl = dmstatpl;
}
public String getEncl() {
return encl;
}
public void setEncl(String encl) {
this.encl = encl;
}
public String getEnnmcd() {
return ennmcd;
}
public void setEnnmcd(String ennmcd) {
this.ennmcd = ennmcd;
}
public String getExqs() {
return exqs;
}
public void setExqs(String exqs) {
this.exqs = exqs;
}
public String getInfndt() {
return infndt;
}
public void setInfndt(String infndt) {
this.infndt = infndt;
}
public String getLvbslv() {
return lvbslv;
}
public void setLvbslv(String lvbslv) {
this.lvbslv = lvbslv;
}
public String getRm() {
return rm;
}
public void setRm(String rm) {
this.rm = rm;
}
public String getRscci() {
return rscci;
}
public void setRscci(String rscci) {
this.rscci = rscci;
}

public boolean Update(boolean isSave) {
boolean isSucess = false;
StringBuffer sb = new StringBuffer();
if (isSave)
{
if(this.IsNew)//新建
{
sb.append("Insert Into RSCMIN(ennmcd,infndt,aduncd," +
"adunnm,dmstatpl,bldt,encl,lvbslv,dlblp,rscci," +
"exqs,rm) VALUES(");
sb.append("'");
sb.append(this.ennmcd);
sb.append("','");
sb.append(this.infndt);
sb.append("','");
sb.append(this.aduncd);
sb.append("','");
sb.append(this.adunnm);
sb.append("','");
sb.append(this.dmstatpl);
sb.append("','");
sb.append(this.bldt);
sb.append("','");
sb.append(this.encl);
sb.append("','");
sb.append(this.lvbslv);
sb.append("','");
sb.append(this.dlblp);
sb.append("','");
sb.append(this.rscci);
sb.append("','");
sb.append(this.exqs);
sb.append("','");
sb.append(this.rm);
sb.append("')");
}else//修改
{
sb.append("UPDATE RSCMIN SET ");
sb.append("infndt='");
sb.append(this.infndt);
sb.append("',aduncd='");
sb.append(this.aduncd);
sb.append("',adunnm='");
sb.append(this.adunnm);
sb.append("',dmstatpl='");
sb.append(this.dmstatpl);
sb.append("',bldt='");
sb.append(this.bldt);
sb.append("',encl='");
sb.append(this.encl);
sb.append("',lvbslv='");
sb.append(this.lvbslv);
sb.append("',dlblp='");
sb.append(this.dlblp);
sb.append("',rscci='");
sb.append(this.rscci);
sb.append("',exqs='");
sb.append(this.exqs);
sb.append("',rm='");
sb.append(this.rm);
sb.append("' WHERE ennmcd='");
sb.append(this.ennmcd);
sb.append("'");
}
isSucess = this.ExecSQL(sb.toString());
}else//获取数据
{
try
{
this.ennmcd = rs.getString("ennmcd");
this.infndt = rs.getString("infndt");
this.aduncd = rs.getString("aduncd");
this.adunnm = rs.getString("adunnm");
this.dmstatpl = rs.getString("dmstatpl");
this.bldt = rs.getString("bldt");
this.encl = rs.getString("encl");
this.lvbslv = rs.getString("lvbslv");
this.dlblp = rs.getString("dlblp");
this.rscci = rs.getString("rscci");
this.exqs = rs.getString("exqs");
this.rm = rs.getString("rm");
isSucess = true;
}catch(Exception e)
{
System.err.println(e.getMessage());
isSucess = false;
}
}
this.IsNew =false;
return isSucess;
}

public void Init(String ENNMCD){
StringBuffer sb = new StringBuffer();
sb.append("SELECT * FROM RSCMIN ");
if(ENNMCD != null){
sb.append("WHERE ENNMCD='");
sb.append(ENNMCD);
sb.append("'");
}
this.OpenRecords(sb.toString());
this.IsNew = false;
}

}
blue_bat 2004-12-17
  • 打赏
  • 举报
回复
这是Conn代码:


package common.database;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

public class Conn {
private Connection conn = null;
private DataSource ds = null;
private Context initctx = null;
private Context ctx = null;
Statement stmt = null;

public Conn() {
try {
initctx = new InitialContext();
ctx= (Context) initctx.lookup("java:comp/env");
ds = (DataSource)ctx.lookup("jdbc/fxkh");
conn = ds.getConnection();
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
} catch (NamingException e) {
e.printStackTrace();
} catch (SQLException e) {
System.err.print("打开连接错误");
e.printStackTrace();
}
}

public Connection getConn() {
return conn;
}
public ResultSet OpenQuery(String sql){
ResultSet rs = null;
try{
rs = stmt.executeQuery(sql);
}catch(Exception e){
System.err.println("打开查询[" +
sql +
"]错误!");
e.printStackTrace();
}
return rs;
}

public boolean ExecSQL(String sql) {
boolean isSuccess = false;
try {
isSuccess = stmt.execute(sql);
} catch (SQLException e) {
isSuccess = false;
e.printStackTrace();
}
return isSuccess;
}
}
blue_bat 2004-12-17
  • 打赏
  • 举报
回复
Tomcat版本 5.5.4
JDK 1.5
SQLSERVER : 2000
下面是BaseBean.java代码:

/**
* 项目: PANJIN
* 包: base.servlet
* 类: BaseBean
*
* 主要功能:所有实现业务处理Bean的基类。(继承类中如果需要添加初始化的信息,
* 必须创建public boolean Init(para1,para2,..)类似的方法...)
*
* 作者: 杨雨田
* 版本: 1.0
* 创建时间:2004-12-8 — 11:23:34
*/
package base.bean;

import java.sql.ResultSet;
import java.sql.SQLException;

import common.database.Conn;

public abstract class BaseBean {
//是否新纪录
protected boolean IsNew = false;
//记录集
protected ResultSet rs = null;
//连接对象
protected Conn co = null;
//记录个数
protected int RecordCount = 0;

public int getRecordCount() {
return RecordCount;
}
//构造函数,创建ConnObject对象
public BaseBean() {
super();
co = new Conn();
}

public void OpenRecords(String sql) {
rs = co.OpenQuery(sql);
try {
rs.last();
this.RecordCount = rs.getRow();
} catch (SQLException e) {
System.err.println(e.getMessage());
}
this.Update(false);
}
public boolean ExecSQL(String sql){
return co.ExecSQL(sql);
}
public void First() throws SQLException {
rs.first();
}

public void Last() throws SQLException {
rs.last();
}

public void Next() throws SQLException {
rs.next();
}

public void Prev() throws SQLException {
rs.previous();
}

public void Append() {
this.IsNew = true;
}

public abstract boolean Update(boolean isSave);

}

67,549

社区成员

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

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