0

我正在为 web 运行 Visual Studio 2012 Express,并在页面上添加了一个 asp 下拉框。我尝试使用 asp:AccessDataSource 对象从 access 2007 数据库加载源。巫师完成得很好。当我在网络上运行该页面时,我收到一条错误消息,告诉我数据库的格式无法识别。我用谷歌搜索了这个问题,发现 Visual Studio 不知道使用提供程序 Microsoft.ace.oledb.12.0 并且我需要修改连接字符串。

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

4

2 回答 2

0

根据此博客条目

AccessDataSource 控件

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

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

于 2013-05-03T19:07:02.663 回答
0

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

Provider=Microsoft.ACE.OLEDB.12.0;

并且路径Data source是有效的。

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

于 2013-05-02T16:10:52.170 回答