关于DW连接ms access数据库的问题

指定的初始化字符串不符合OLEDB规定为什么我在DW的自定义连接字符串中添加"DRIVER={MiscrosoftAccessDriver(*.mdb)};DBQ="&S... 指定的初始化字符串不符合OLE DB规定

为什么我在DW的自定义连接字符串中添加
"DRIVER={Miscrosoft Access Driver(*.mdb)};DBQ="&Server.MapPath("/1.mdb")
无法在本地连接到数据库。

在“使用计算机上的驱动程序”测试时候提示 "指定的初始化字符串不符合OLE DB规定"
在“使用测试服务器上的驱动程序”测试时候提示
[Microsoft][ODBC驱动程序管理器]未发现数据名称并且未指定默认驱动程序。

我的1.mdb位置是C:\Inetpub\wwwroot\1.mdb
我设置站点位置是C:\Inetpub\wwwroot\

我用网上所说的什么jet连接,在“使用测试服务器上的驱动程序”测试时候提示成功,但是真正在网页做好了测试的时候却无法显示页面。

这个数据库的问题本人一直搞不懂,希望懂这方面的朋友帮帮我。我主要的目的就是用相对路径连接方式上传到服务器可以正常运行网页即可。
希望懂的朋友联系我QQ.能够手把手教教我。我会感激您一辈子
我的QQ:82897029
请注明是帮助我连接数据库
展开
 我来答
百度网友0592542
2007-05-29 · 超过16用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:20.4万
展开全部
连接分两种情况。如果你只是测试自己做的网站,不需要传到服务器上面,就直接使用计算机上的驱动程序这种方法,用系统DSN或文件DSN的连接方法即可。步骤如下:控制面板-管理工具-数据源-系统DSN-添加-选择Microsoft Access Driver(*.mdb)-命名数据源-选择-你的数据库文件所在处-这步完成。接下来在DW中选择数据源名称-设置连接名称选择刚刚设置的DSN即可。如果你需要将网站传到服务器上或需要转移到别的电脑上也能正常运行,就得用下面的字符串来连接了:在DW中选择自定义连接字符串-勾选使用测试服务器上的驱动程序-输入连接字符串:"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("/1.mdb").这里得提醒你一下,如果你用的是低于8.0版本的DW,即使数据库连接成功,也无法打开表,这是由于低版本不支持XP的一点缺陷,需要安装一个插件才行。最好还是直接用DW8.0版本。这可能就是你在“使用测试服务器上的驱动程序”测试时候提示成功,但是真正在网页做好了测试的时候却无法显示页面的原因。
用上面的方法试试吧,刚开始学习数据库连接这种问题是比较容易出问题的,多试试就会慢慢懂了的。还有什么不懂的来问我吧,434930731,呵呵。
百度网友1b7eae8
2007-05-22 · TA获得超过700个赞
知道小有建树答主
回答量:967
采纳率:0%
帮助的人:709万
展开全部
路径 好像应该用双斜线

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;

public class ConnectAccess extends HttpServlet {
Connection conn = null;
Statement stmt = null;

public void init() throws ServletException {
String strurl="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\books.mdb";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection(strurl);
stmt=conn.createStatement();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;");
PrintWriter out = response.getWriter();
try {
ResultSet rs=stmt.executeQuery("select * from books");
out.println("<html><body>");
out.println("<p>Database connection successfully created!</p>");

while (rs.next()) {
out.println("<p>The book's name is: " + rs.getString("book") +"</p>");
}
out.println("</body></html>");
} catch (Exception e) {
System.out.println(e.getMessage());
}
}

public void destroy() {
try {
conn.close();
} catch(SQLException e){}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式