AccessDataSource控件报告无法识别的数据库

时间:2013-05-02 14:14:57

标签: asp.net ms-access visual-studio-2012 ms-access-2007 visual-web-developer

我正在运行visual studio 2012 express for web,在页面上我添加了一个asp下拉框。我尝试使用asp:AccessDataSource对象从Access 2007数据库加载源代码。 wizzard完成得很好。当我在网页上运行页面时,我收到错误消息,告诉我数据库格式无法识别。我搜索了问题,发现visual studio不知道使用提供程序Microsoft.ace.oledb.12.0并且我需要修改连接字符串。

由于我没有编写此页面的代码,并依赖VS的可视化界面来生成代码,我如何找到修改代码的代码?或者我只是编写自己的代码而不是依靠VS来为我做这件事?

2 个答案:

答案 0 :(得分:0)

您可以使用页面here上的示例代码显示AccessDataSource正在使用的连接字符串。验证连接字符串是否包含

Provider=Microsoft.ACE.OLEDB.12.0;

并且Data source的路径有效。

FWIW,我刚尝试使用Access 2010数据库在Visual Web Developer 2010 Express下重新创建您的问题,它对我来说效果很好。我也找不到任何证据表明AccessDataSource的连接字符串实际上已经在Web.config或其他地方“写下”了。

答案 1 :(得分:0)

根据this blog entry

  

AccessDataSource控件

     

我越是考虑它,这种控制对我来说就越无意义了。关于它的唯一好处是它的工作原理。但是,它仅适用于.mdb格式,因为它在内部调用Jet提供程序,并且无法更改。您不能将它与密码保护文件一起使用,因为它会自动从.mdb文件的位置生成连接字符串,并将其提供给DataFile属性

因此,我要么必须使用.mdb文件,要么手动生成代码。我投票支持手动创作。