如何以编程方式确定Jet数据库引擎类型

MZB*_*MZB 10 .net c# ms-access jet

我有一个程序需要升级它打开到JET Version4.x的任何Access(Jet)数据库,如果它还不是那个版本.(这样可以使用SQL-92语法功能)

升级(相对)容易.调用JRO.JetEngine对象的CompactDatabase方法(如此处所述)应该可以解决问题,但在此之前,我需要确定是否需要升级.如何确定Jet OLEDB:现有数据库的引擎类型?这可以从开放的OleDBConnection确定吗?

注意:

  1. 我说的是数据库版本,而不是Jet库版本.
  2. C#或.Net解决方案非常感谢.
  3. 这是一个使用Jet引擎的应用程序,而不是Access应用程序.

Tod*_*ain 3

您必须设置对 ADO 的引用,然后才能获取该属性。

从 Access 内部

Dim cnn As ADODB.Connection
Set cnn = CurrentProject.Connection
Run Code Online (Sandbox Code Playgroud)

从 Access 外部

Dim cnn As New ADODB.Connection
cnn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Contact.mdb
Run Code Online (Sandbox Code Playgroud)

最后

Debug.Print cnn.Properties("Jet OLEDB:Engine Type").Value
Run Code Online (Sandbox Code Playgroud)

.Value将返回 1 到 5。如果是 5,则它已经在 J​​et4x 中,否则它是早期版本。

这是您正在查看的升级技术的另一个示例:将 MDB 数据库转换为另一种格式(JET,访问版本)