标签: jet

Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册

我在32位Windows 2008服务器中创建了一个在.NET 3.5中开发的Windows应用程序.在64位服务器中部署应用程序时,它显示错误"Microsoft.Jet.OLEDB.4.0'提供程序未在本地计算机上注册".

因此,作为此问题的解决方案,我已将项目的构建属性更改为X86,以便它将以32位模式构建,并在32位机器中重建项目.但是,同一个项目使用其他数据库驱动程序(DB2,SQL等)连接到其他数据库.因此,当我在64位操作系统中再次部署我的应用程序时,它会抛出异常"尝试在32位平台上加载64位程序集".

我使用Microsoft.Jet.OLEDB.4.0驱动程序读取和写入Excel(.xls)

.net c# oledb jet 32bit-64bit

184
推荐指数
9
解决办法
42万
查看次数

最后插入行的自动编号值 - MS Access/VBA

我有一个JET以自动编号为主键的表,我想知道如何在插入一行后检索此数字.我曾想过MAX()用来检索具有最高值的行,但我不确定它有多可靠.一些示例代码:

Dim query As String
Dim newRow As Integer
query = "INSERT INTO InvoiceNumbers (date) VALUES (" & NOW() & ");"
newRow = CurrentDb.Execute(query)
Run Code Online (Sandbox Code Playgroud)

现在我知道这不起作用,因为Execute()不会返回主键的值,但这基本上是我正在寻找的那种代码.我将需要使用新行的主键来更新另一个表中的多个行.

这样做最简单/最易读的方法是什么?

ms-access vba jet

36
推荐指数
3
解决办法
10万
查看次数

MS Access(Jet/ACE)中的无表UNION查询

这按预期工作:

SELECT "Mike" AS FName
Run Code Online (Sandbox Code Playgroud)

这失败,错误"查询输入必须包含至少一个表或查询":

SELECT "Mike" AS FName
UNION ALL
SELECT "John" AS FName
Run Code Online (Sandbox Code Playgroud)

这只是Jet/ACE数据库引擎的怪癖/限制还是我遗漏了什么?

sql ms-access jet

26
推荐指数
3
解决办法
2万
查看次数

为什么我应该在Jet数据库上使用SQLite

前几天有人问过我,我想不出一个好的答案.平台可移植性与项目完全无关.

事实上,Jet有一些SQLite没有的功能,即外键.

那么有谁能想到为什么应该使用SQLite而不是Jet数据库呢?

sqlite ms-access jet

21
推荐指数
4
解决办法
1万
查看次数

将MS Access表单和类/模块递归导出到文本文件?

我在古老的留言板上找到了一些代码,可以很好地从类,模块和表单中导出所有VBA代码(见下文):

Option Explicit
Option Compare Database
Function SaveToFile()                  'Save the code for all modules to files in currentDatabaseDir\Code

Dim Name As String
Dim WasOpen As Boolean
Dim Last As Integer
Dim I As Integer
Dim TopDir As String, Path As String, FileName As String
Dim F As Long                          'File for saving code
Dim LineCount As Long                  'Line count of current module

I = InStrRev(CurrentDb.Name, "\")
TopDir = VBA.Left(CurrentDb.Name, I - 1)
Path = TopDir & "\" & "Code"           'Path where …
Run Code Online (Sandbox Code Playgroud)

ms-access vba dao ado jet

17
推荐指数
3
解决办法
2万
查看次数

MS Access数据库引擎表中的最大行数?

我们知道MS Access数据库引擎被"限制"以允许最大文件大小为2GB(或者可能内部连线被限制为少于2KB的4KB数据页的某些功率).但这在实践中意味着什么呢?

为了帮助我衡量这一点,您能告诉我可插入MS Access数据库引擎表的最大行数吗?

为了满足表的定义,所有的行必须是唯一的,因此唯一约束(例如PRIMARY KEY,UNIQUE,CHECK,数据宏等)是必需的.

编辑:我意识到有一个理论上的限制,但我感兴趣的是实际(并不一定是可行的)现实生活限制.

ms-access jet ms-jet-ace

14
推荐指数
3
解决办法
10万
查看次数

SQLite与Microsoft Access MDB相比有多快?

目前我正在考虑通过SQlite数据库替换单用户.NET C#Windows窗体应用程序上的Microsoft Jet MDB数据库的使用.

我的目标是降低Jet驱动程序的安装要求以及Jet安装损坏时的一些令人讨厌的错误(我们现在有客户报告这些错误).

我对性能的质疑是:

是否有任何性能基准测试比较MDB和SQLite对相当小的数据集?

或者是否有任何开发人员已经采取了这一步骤,并可以根据自己的经验讲述一些故事?

(我现在谷歌搜索几个小时没有成功)

更新

虽然数据库不包含那么多记录和表,但我认为性能仍然是一个问题,因为数据经常被访问.

该应用程序是一个所谓的"桌面CMS系统",它呈现HTML页面; 在渲染过程中,正在访问大量数据并且正在执行大量SQL查询.

更新2

刚刚发现这个文档表明了一些速度比较,遗憾的是没有MDB,据我所知.

更新3

根据要求,一些数字:

  • 约.数据库中有30个表.
  • 大多数表格的方式低于100条记录.
  • 约.5个表通常有几百到几千条记录.
  • 一个大型MDB文件大约为60 MB.

更新4

换句话说:我当前的MDB实现没有任何性能问题.我问这个问题是为了感觉在使用SQLite而不是MDB时性能是否相等(或更好).

.net sqlite ms-access jet

14
推荐指数
3
解决办法
2万
查看次数

INSERT语句后@@ IDENTITY始终返回0

我需要一个函数,它在数据库上执行INSERT语句并返回Auto_Increment主键.我有以下C#代码但是,虽然INSERT语句工作正常(我可以看到数据库中的记录,PK是正确生成的,行== 1),但id值始终为0.任何关于可能会发生什么的想法错误?

    public int ExecuteInsertStatement(string statement)
    {
        InitializeAndOpenConnection();
        int id = -1;


        IDbCommand cmdInsert = connection.CreateCommand();
        cmdInsert.CommandText = statement;
        int rows = cmdInsert.ExecuteNonQuery();

        if (rows == 1)
        {
            IDbCommand cmdId = connection.CreateCommand();
            cmdId.CommandText = "SELECT @@Identity;";
            id = (int)cmdId.ExecuteScalar();
        }

        return id;
    }
    private void InitializeAndOpenConnection()
    {
        if (connection == null)
            connection = OleDbProviderFactory.Instance.CreateConnection(connectString);

        if(connection.State != ConnectionState.Open)                 
            connection.Open();
    }
Run Code Online (Sandbox Code Playgroud)

为了回答答案,我试过:

public int ExecuteInsertStatement(string statement, string tableName)
    {
        InitializeAndOpenConnection();
        int id = -1;
        IDbCommand cmdInsert = connection.CreateCommand();
        cmdInsert.CommandText = statement + …
Run Code Online (Sandbox Code Playgroud)

sql database ms-access jet primary-key

13
推荐指数
3
解决办法
2万
查看次数

在Python中访问JET(.mdb)数据库

有没有办法从Python访问JET数据库?我在Linux上.我发现的只是存储库中的.mdb查看器,但它非常错误.谢谢

python database jet

12
推荐指数
1
解决办法
7625
查看次数

Microsoft Jet DB是否与Entity Framework一起使用?

在本次论坛在这里,有人提到,实体框架不能使用Access(Jet数据库- .mdb)中.然而,它似乎有A如对Jet数据库供应商在这里

这让我觉得Entity Framework唯一需要的就是在定义模型之前定义以下内容:

<connectionStrings>  
    <add name="ProductContext"
         providerName="Microsoft.Jet.OLEDB.4.0"
         connectionString="Source=C:\mydatabase.mdb;Jet OLEDB:Database
                           Password=MyDbPassword;"/>
</connectionStrings> 
Run Code Online (Sandbox Code Playgroud)

有没有人知道实体框架是否适用于Jet DB,我想在开始之前确保它确实如此,因为我的设计文档依赖于这个事实.

谢谢

ms-access entity-framework jet jet-ef-provider

12
推荐指数
2
解决办法
2万
查看次数