今天想把网站的数据库换成2010(.accdb)格式的,但不知道主机服务商是否支持。于是想做个页面先测试一下。为了图方便,我用Access2010建立好测试用的数据库后,在VS里用拖DataSource控件的方法建了一个测试页面。VS里一切正常,可以识别数据库的内容。但网页一运行就报错:OleDbException (0x80004005): 不可识别的数据库格式。但通过编程的方式来指定provider就行。

经过一番研究发现,Access 2007或2010已经不能用AccessDataSource控件来连接了。必须使用SqlDataSource,但有些地方要做些改动:

1. 拖个SqlDataSource进来,然后选择配置数据源:

2.点击[新建连接]后,选择你的accdb数据库,数据源应该会自动适配为OLE DB。

3.选择高级,将Provider属性修改为Microsoft.ACE.OLEDB.12.0

别忘了回头测试一下连接。

好了,现在就和以前一样可以绑定GridView等数据显示控件了。有图有真相: