jsp+sqlserver出大问题了,紧急求救

wobushigl 2003-10-18 11:39:36
本人目前作一个树型目录,书上给的数据库是access的。测试时一切ok,但是转换到sqlserver后,只要数据库中一有记录就报错。access中的数字类型我换成了sqlserver中的int,文本类型换成了char或nvarchar。就这么简单。odbc设置决无问题。代码也没错。就是能用access的,不能用sqlserver的,百思不解。请各位有经验的高手指教。
...全文
49 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaray 2003-10-19
  • 打赏
  • 举报
回复
//String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
// 有没有搞错,数据库都换了,驱动还不换?
// 这样很可能是你建立数据源是选错了数据库驱动了?
// 楼主建立数据源时不会选成Access的驱动了吧?

建议换成JDBC驱动:
String sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

//String sConnStr="jdbc:odbc:tree1";
相应的URL换成:
String sConnStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=yourdatabasename";

chenbug 2003-10-19
  • 打赏
  • 举报
回复
是javascript的错误提示,
wobushigl 2003-10-19
  • 打赏
  • 举报
回复
各位大哥,我用的是jdbc—odbc桥啊,这也要换驱动吗,直接换数据源不就行了吗
我已经说了,问题解决了。方法非常怪,这里写太麻烦。到这里看
http://expert.csdn.net/Expert/topic/2370/2370159.xml?temp=.7396204
mysam 2003-10-19
  • 打赏
  • 举报
回复
换了数据库不换驱动吗???
把驱动换成
String sDBDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
wobushigl 2003-10-19
  • 打赏
  • 举报
回复
问题找到了,非常的奇怪。请看本版
http://expert.csdn.net/Expert/topic/2370/2370159.xml?temp=.7396204
lmh7607 2003-10-18
  • 打赏
  • 举报
回复
异常信息和代码贴出来看看
chenbug 2003-10-18
  • 打赏
  • 举报
回复
是否是驱动或者其它的问题,实在不行,用JUINT先单元测试,access和SQLServer之间的数据应该是可以相互转换的。

偶也做了一个树形菜单,包装了数据库操作,和后台数据库无关。
叶子哟 2003-10-18
  • 打赏
  • 举报
回复
代码呀!看看
wobushigl 2003-10-18
  • 打赏
  • 举报
回复
上面的很多乱码都是被注释掉了
function generateTree()
{
//var aux1, aux2, aux3, aux4
var aux
aux=new Array

foldersTree = folderNode("ÎÒµÄÍøÕ¾")
<%
//menu_id,menu_name,parent_menu_id,folder_or_file,menu_location
String sql="select * from tree_menu ";
ResultSet RS;
RS=executeQuery(sql);
try
{

while(RS.next())
{
String foldersTree;
int id=RS.getInt("menu_id");
int loc=RS.getInt("menu_location");
int parent=RS.getInt("parent_menu_id");
int folder_or_file=RS.getInt("folder_or_file");
if(loc==1){
foldersTree="foldersTree";
}else{
//foldersTree="aux"+(int)(loc-1);
foldersTree="aux["+parent+"]";
}

out.println("aux["+id+"]"+" = appendChild("+foldersTree+", folderNode('<a href=main.jsp?menuid="+id+"&loc="+loc+" target=folderFrame>"+RS.getString("menu_name")+"</a>'));");

}

}
catch(Exception e)
{
out.println(e.toString());
}
%>

}

// ´´½¨½ÚµãµÄ¸¨Öúº¯Êý
function folderNode(name)
{
var arrayAux
arrayAux = new Array
arrayAux[0] = 0
arrayAux[1] = 0
arrayAux[2] = 0
arrayAux[3] = name

return arrayAux
}
function leafNode(name)
{
var arrayAux
arrayAux = new Array
arrayAux[0] = 0
arrayAux[1] = 0
arrayAux[2] = 1
arrayAux[3] = name

return arrayAux
}

function appendChild(parent, child)
{
parent[parent.length] = child
return child
}
wobushigl 2003-10-18
  • 打赏
  • 举报
回复
代码来了,请各位看看
<%@page contentType="text/html;charset=gb2312"%>
<%@page language="java" import="java.sql.*"%>
<%//ÉèÖÃsession£¬ÌṩÓû§µÇ½½Ó¿Ú
session.setAttribute("userName","blueriver");
String topMenu;
topMenu=(String)session.getAttribute("userName");
%>
<%
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
try
{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
%>
<%!
public ResultSet executeQuery(String sql)
{
String sConnStr="jdbc:odbc:tree";
Connection conn=null;
ResultSet rs=null;
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println(ex.getMessage());
}

return rs;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Ê÷×´²Ëµ¥ </title>
<style><!--
A:link {text-decoration:none}
A:visited {text-decoration:none}
A:hover {color:#99CCFF;text-decoration:none}
-->
</style>
<script LANGUAGE="JavaScript">
<!--
//ÿ¸ö½ÚµãÓÐÒ»¸öÊý×é,°üº¬ 4+n¸öÔªËØ
// node[0]Ϊ0/1 ¶ÔÓ¦½ÚµãµÄÕ¹¿ª/¹Ø±Õ
// node[1]Ϊ0/1 ¶ÔÓ¦Îļþ¼ÐµÄ¹Ø±Õ/Õ¹¿ª
// node[2]Ϊ1 Èç¹û½ÚµãµÄ×Ó½ÚµãÊÇÎĵµ
// node[3]ÊǽڵãµÄÃû³Æ
// node[4]...node[4+n]Ϊn¸ö×Ó½Úµã

// ³õʼ»¯²Ëµ¥µÄÊý¾Ý
wobushigl 2003-10-18
  • 打赏
  • 举报
回复
请说清楚一些啊。当这个数据库中无记录时,都不会报错,但一旦有记录了,立即出错。可用access都还没问题啊。下面贴出完整源代码。
yao_xh 2003-10-18
  • 打赏
  • 举报
回复
是否是英文;搞成了中文;。
wobushigl 2003-10-18
  • 打赏
  • 举报
回复
急急急,有类似经验的千万要不吝赐教啊
zhanghuazhanghome 2003-10-18
  • 打赏
  • 举报
回复
关注
wobushigl 2003-10-18
  • 打赏
  • 举报
回复
出现运行期错误,行:36,缺少";"
查看时指向这个
<FRAMESET cols="200,*" onLoad='initializeTree()'>
但是整个程序在access当数据源时都好好的啊
yaray 2003-10-18
  • 打赏
  • 举报
回复
paste error message,OK?
wobushigl 2003-10-18
  • 打赏
  • 举报
回复
cdsn的人气还真旺啊。使用数据库的代码如下。报的错极其无聊,说什么缺少"这个符号,怎么可能吗,odbc数据源一换成access的利马就好了。继续求救。。各位帮帮忙啊

<%
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
try
{
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.err.println(e.getMessage());
}
%>
<%!
public ResultSet executeQuery(String sql)
{
String sConnStr="jdbc:odbc:tree1";
Connection conn=null;
ResultSet rs=null;
rs=null;
try
{
conn=DriverManager.getConnection(sConnStr,"sa","wobushigl");
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex)
{
System.err.println(ex.getMessage());
}

return rs;
}
%>
jackal81 2003-10-18
  • 打赏
  • 举报
回复
报什么错呀?
yaray 2003-10-18
  • 打赏
  • 举报
回复
感觉是驱动程序的问题,楼主一直没提.

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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