none
mdb文件读取问题 RRS feed

  • 问题

  •   需要从 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#)
    2012年2月24日 8:10

答案

  • OleDB4.0的方式 也会报错  

    OleDB4.0 的只能读 office 2003 及更老版本

    .OLEDB.12.0 是读office 2007的


    少悲切,勿徘徊。。。

    你是2007或以上版本?我看你的后缀是mdb吧?所以认为应该是2003那个版本(即便用2007及以上Office Access存储的,应该可以兼容2003,所以理应Oledb4.0可以……)。

    要不你尝试一下另存为,改成accdb(2007以及以上格式的)看看呢?谢谢!


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    • 已标记为答案 makefor123 2012年3月2日 1:18
    2012年2月27日 1:30

全部回复

  • 错误报的是  “未指定的错误”    有人遇到过吗

    少悲切,勿徘徊。。。

    2012年2月24日 8:37
  • 请问有错误的完整信息吗?

    亂馬客blog: http://www.dotblogs.com.tw/rainmaker/

    2012年2月24日 15:44
  •   需要从 MDB文件中读取数据,

         目前采用的方式是 :oleDBConnection 的方式 , 连接串是 "Provider=Microsoft.ACE.OLEDB.12.0 Data source={"a.mdb"}"  .

        这种方式访问是没有问题,

        问题是读取时会间歇性出错,随机,找不到规律。

        各位大侠帮我 想想办法啊 

        或者有其他的 读取方式,  帮推荐下啊


    少悲切,勿徘徊。。。

    mdb文件我建议你使用OleDB4.0的方式去读取。

    字符连接串请查阅:http://www.connectionstrings.com/access#p85


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年2月26日 4:14
  • OleDB4.0的方式 也会报错  

    OleDB4.0 的只能读 office 2003 及更老版本

    .OLEDB.12.0 是读office 2007的


    少悲切,勿徘徊。。。

    2012年2月27日 1:28
  • OleDB4.0的方式 也会报错  

    OleDB4.0 的只能读 office 2003 及更老版本

    .OLEDB.12.0 是读office 2007的


    少悲切,勿徘徊。。。

    你是2007或以上版本?我看你的后缀是mdb吧?所以认为应该是2003那个版本(即便用2007及以上Office Access存储的,应该可以兼容2003,所以理应Oledb4.0可以……)。

    要不你尝试一下另存为,改成accdb(2007以及以上格式的)看看呢?谢谢!


       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    • 已标记为答案 makefor123 2012年3月2日 1:18
    2012年2月27日 1:30
  • 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)

    少悲切,勿徘徊。。。

    2012年2月27日 1:34
  • 你确定安装了正确的Office2007或者以上的工具,以及驱动数据库底层的组件?如果确定的话,请仔细检查数据库连接字符串,恐怕多一个空格,大小写什么的会造成这类奇怪的现象出现。

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此

    2012年2月27日 1:41
  • 谢谢 !对,mdb格式的 两种Oledb都可以读取,

    我的文件格式是固定的,就.mdb,

    补充下 .mdb文件时第三方软件导出,但应该没有问题,因为是可以读取到的,只是偶尔会报上面的错


    少悲切,勿徘徊。。。

    2012年2月27日 1:43
  • 应该不是 连接串的问题,因为该问题只是偶尔出现 ,

    应该也不是底层驱动的问题,因为在多台机器上出现过,

    另外,该读取操作可能会  较频繁执行,  就是反复读取 这个 mdb文件


    少悲切,勿徘徊。。。

    2012年2月27日 9:21
  • 不纠结了,个人认为是mdb被频繁打开的原因,已经想办法在程序不频繁的打开。 


    少悲切,勿徘徊。。。

    2012年3月2日 1:16
  • 谢谢各位解答

    少悲切,勿徘徊。。。

    2012年3月2日 1:18
  • 谢谢各位解答

    少悲切,勿徘徊。。。

    如果我没有解决你的问题,请取消我答案标记,标记你自己的为答案,可能的话最好写详细一点你的答案,谢谢!

       QQ我:讨论(Talk)
    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年3月2日 1:22