论坛首页 入门讨论版 Tomcat

JAVA访问局域网Access数据库的问题,非常怪异

浏览 125 次
该帖已经被评为新手帖
作者 正文
时间:2008-05-14
我的电脑:A
局域网服务器:B
Access所在局域网电脑:C

在C上做共享,同时添加A,B完全控制的权限
设置数据源,A,B机同时可以打开C的共享文件夹
在A机上可以访问出数据
在B机上确无法访问

于是写以下程序测试
第一,直接编译Java文件 test.java,编译成test.class,然后直接执行
import java.sql.*;

public class access
{
	public static void main(String args[])
	{
		try
		{
		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
		Connection conn = DriverManager.getConnection("jdbc:odbc:attend","","");
		Statement command = conn.createStatement();
		ResultSet rs = command.executeQuery("select * FROM tbl_employee");
		while (rs.next())
		{
			System.out.println(rs.getString(2));
		}

		System.out.println("Connected To Access");

		}
		catch (SQLException se)
		{
			System.out.println(se);
		}
		catch (Exception ex)
		{
			System.out.println(ex);
		}
	}
}

可以显示出来数据,正常

第二,写JSP文件,test.jsp

<html>
<head>
<title>通过JDBC-ODBC桥访问数据库</title>
</head>
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<body>
<h2>
通过JDBC-ODBC桥访问数据库
</h2>
<table border=1 align="center">
  <tr>
    <td>用户名</td>
  </tr>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:odbc:attend","","");
Statement command = conn.createStatement();
ResultSet rs = command.executeQuery("select * FROM tbl_employee");
while(rs.next())
{
%>
  <tr>
    <td><%=rs.getString(2)%></td>
  </tr>
<%    
}
rs.close();
conn.close();
%>
</table>
</body>
</html>


却显示出错
javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] '(未知的)'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.test_jsp._jspService(test_jsp.java:96)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

非常之怪异,总之服务器B无法用jsp访问C,可以打的开C的共享文件夹,通过java类也可以访问
请求帮忙解答
   
时间:2008-05-14
?????
   
0 请登录后投票
时间:2008-07-14
电脑A、B上都要在控制面板/管理工具/数据源(ODBC)/系统DSN 上设置数据源, 指向电脑C上的ACCESS数据库。
   
0 请登录后投票
论坛首页 入门讨论版 Tomcat

跳转论坛:
JavaEye推荐