积极答复者
mdb文件读取问题

问题
-
需要从 MDB文件中读取数据,
目前采用的方式是 :oleDBConnection 的方式 , 连接串是 "Provider=Microsoft.ACE.OLEDB.12.0 Data source={"a.mdb"}" .
这种方式访问是没有问题,
问题是读取时会间歇性出错,随机,找不到规律。
各位大侠帮我 想想办法啊
或者有其他的 读取方式, 帮推荐下啊
少悲切,勿徘徊。。。
- 已移动 Leo Liu - MSFT 2012年2月27日 7:51 Moved for better support. (发件人:Visual C#)
答案
-
OleDB4.0的方式 也会报错
OleDB4.0 的只能读 office 2003 及更老版本
.OLEDB.12.0 是读office 2007的
少悲切,勿徘徊。。。
你是2007或以上版本?我看你的后缀是mdb吧?所以认为应该是2003那个版本(即便用2007及以上Office Access存储的,应该可以兼容2003,所以理应Oledb4.0可以……)。
要不你尝试一下另存为,改成accdb(2007以及以上格式的)看看呢?谢谢!
- 已标记为答案 makefor123 2012年3月2日 1:18
全部回复
-
需要从 MDB文件中读取数据,
目前采用的方式是 :oleDBConnection 的方式 , 连接串是 "Provider=Microsoft.ACE.OLEDB.12.0 Data source={"a.mdb"}" .
这种方式访问是没有问题,
问题是读取时会间歇性出错,随机,找不到规律。
各位大侠帮我 想想办法啊
或者有其他的 读取方式, 帮推荐下啊
少悲切,勿徘徊。。。
mdb文件我建议你使用OleDB4.0的方式去读取。
字符连接串请查阅:http://www.connectionstrings.com/access#p85
-
OleDB4.0的方式 也会报错
OleDB4.0 的只能读 office 2003 及更老版本
.OLEDB.12.0 是读office 2007的
少悲切,勿徘徊。。。
你是2007或以上版本?我看你的后缀是mdb吧?所以认为应该是2003那个版本(即便用2007及以上Office Access存储的,应该可以兼容2003,所以理应Oledb4.0可以……)。
要不你尝试一下另存为,改成accdb(2007以及以上格式的)看看呢?谢谢!
- 已标记为答案 makefor123 2012年3月2日 1:18
-
ERROR Application [(null)] - 未指定的错误-- 在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OleDb.OleDbConnection.Open()
在 Gvitech.UI.Common.MdbHelper.GetDtFromMdb(String strFile, String strSql)少悲切,勿徘徊。。。
-
你确定安装了正确的Office2007或者以上的工具,以及驱动数据库底层的组件?如果确定的话,请仔细检查数据库连接字符串,恐怕多一个空格,大小写什么的会造成这类奇怪的现象出现。
- 已编辑 ThankfulHeart 2012年2月27日 1:41
-
不纠结了,个人认为是mdb被频繁打开的原因,已经想办法在程序不频繁的打开。
少悲切,勿徘徊。。。
- 已标记为答案 makefor123 2012年3月2日 1:18
- 取消答案标记 makefor123 2012年3月2日 1:18
- 已建议为答案 ThankfulHeart 2012年3月2日 4:00