问题标签 [firebird-embedded]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1625 浏览

c# - Firebird 嵌入式和实体框架 6 出现“未知数据类型”错误

我正在使用带有代码的嵌入式 Firebird 数据库(实体框架 6)。应用程序第一次运行时,它运行良好:创建数据库并插入数据。但此后每次运行时,都会引发以下异常:

FirebirdSql.Data.FirebirdClient.dll 中出现“System.NotSupportedException”类型的异常,但未在用户代码中处理

附加信息:未知数据类型

该项目包括以下 NuGet 包:

  • 实体框架 [6.0.2]
  • Firebird ADO.NET 数据提供程序(实体框架 6)[4.1.0.0]

我按照这里的描述添加了DbProviderFactoriesandFirebirdSql.Data.FirebirdClient提供者。App.config

我还将 Firebird DLL 添加到项目中并将它们设置为复制到输出目录:

  • fbembed.dll
  • ib_util.dll
  • icudt30.dll
  • icuin30.dll
  • icuuc30.dll

没有 启用代码优先迁移(尽管由于__MigrationHistory某种原因仍会创建表)。

这是代码:

异常被抛出context.Users.Add(...)在线。

这是堆栈跟踪

堆栈跟踪指向 Firebird 库(就在这里)。我尝试向后跟踪代码,但我不知道GetBytes()是为所有字段还是只为字段调用byte[]。(我最初以为可能__MigrationHistory.Model和数据库中的字段有关,但是如果该表为空,仍然会出现错误。但是,我不希望我的猜测造成误导。)

我可以解决这个问题,但我真的很想了解它。有谁知道这里发生了什么?

0 投票
1 回答
856 浏览

c# - 让 Mono 和 Firebird Embedded 在 Linux 上运行

我最近正在研究 Firebird Embedded 作为可以在我的项目中替代 SQLite 的产品。问题是,我希望能够在 Windows 和 Linux 上使用相同的应用程序编译,但不幸的是,使用 SQLite 这是不可能的。

尽管如此,我还是无法让 Firebird 在 Linux 上运行 Mono(还没有尝试过 Windows)。

我做过的事情:

  1. Firebird ADO.NET Provider从 NuGet安装。
  2. 为 Windows 库下载32 位嵌入式客户端并解压缩到我的 bin 目录:fbembed.dll, firebird.cfg, firebird.msg, ib_util.dll, icudt30.dll, icuin30.dll, icuuc30.dll.
  3. 使用以下命令创建了连接字符串:

    /li>
  4. 不过,我得到了错误,fbembed.dll在路径中找不到。

我该怎么办?

0 投票
1 回答
388 浏览

database-connection - Firebird:FirebirdSql.Data.FirebirdClient.dll 中出现“System.NotSupportedException”类型的未处理异常

我正在创建一个项目 Windows 运行时组件(使用 c#),并且我想使用嵌入式 DB,所以我添加了 Firebird-2.5.2.26540-0_x64_embed 和 .net 组件 NETProvider-2.5.2-CF。每次当我执行任何操作时FBcommandFBConnection我都会收到错误“FirebirdSql.Data.FirebirdClient.dll 中发生'System.NotSupportedException'类型的未处理异常”

我不能使用 terget 框架,因为它的 WinRT(c#) 项目......

0 投票
1 回答
4293 浏览

c# - 使 Firebird 与实体框架代码优先和迁移一起工作

在 packagemanager 中键入 enable-migrations 时出现此错误。

找不到具有不变名称“FirebirdSql.Data.FirebirdClient”的 ADO.NET 提供程序的实体框架提供程序。确保提供程序已在应用程序配置文件的“entityFramework”部分注册。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=260882

这是我到目前为止所做的:

制作了这个 DataContext 类:

请注意,这是一个控制台应用程序,所以我没有 app.config 文件来添加提供程序,并且数据库实际上并不存在,希望它为我创建了它:)

0 投票
0 回答
774 浏览

firebird - Firebird ODBC 连接从服务器 2008 64 位到具有数据库的服务器 2003 32 位

我有一个在 Windows 2003 32 位上使用 Firebird 连接的 Quantum 数据库。我正在尝试通过 ODBC 从服务器 2008 R2 64 位连接到服务器,但每次单击测试连接时它都会告诉我“无法打开数据库 xxx 连接”。我在2008服务器上安装了最新的32位和64位驱动,并将2003服务器上的Firebird Diver升级到了最新的32位驱动。我错过了什么?我正在尝试连接到数据库服务器,以便可以将数据库迁移到 SQL。

0 投票
1 回答
7780 浏览

firebird - firebird数据库中firebird.msg有什么用

我正在考虑在我的应用程序中使用 Firebird。我想知道这个firebird.msg文件是用来做什么的。它是包含在您的应用程序安装程序包中的可选文件还是强制文件?

0 投票
1 回答
943 浏览

c# - Firebird 和 ASP.NET Web 服务

我正在使用嵌入在 Asp.Net 网站中的 Firebird。当我以管理员身份运行 VS2010 时,我可以成功调用数据库,如果我以其他用户身份运行它,我会收到此错误:

我已经在 IIS 中部署了该服务,但在调用它时出现了同样的错误。此外,为了使其在管理员帐户下工作,我必须将 fbemdeb.dll 复制到 windows/system32 中。

我已经从控制台应用程序中对数据库进行了相同的调用,它适用于所有用户帐户。我只有网络服务有这个问题。

有什么建议么?我正在使用火鸟 2.5

0 投票
2 回答
6295 浏览

delphi - 使用 FireDAC 连接到嵌入式 Firebird 2.5

无论我做什么,我似乎都无法使用 FireDAC 连接到 Firebird 2.5 嵌入式数据库。有趣的是,昨天它似乎可以工作,现在突然就不行了。

为了弄清楚为什么它突然停止工作,我开始重建一个干净的项目,这样我就可以逐步弄清楚发生了什么。我添加(复制)了从 Firebird 下载的包的全部内容到我的应用程序目录和数据库本身。

为了避免文件夹问题,我设置了 Delphi 环境选项以将所有文件(和 exe)放在同一目录中。然后我使用在 Firebird *.doc 文件夹中找到的建议并将 fbembed.dll 重命名为 fbclient.dll。(在一些关于我读到 Firedac 需要 fbembed.dll 文件的问题的 FireDAC Q&A 中。好吧,我已经尝试了两种方法,但无论如何它都不起作用)。但让我坚持 fbclient.dll 的第一个问题。

为了建立连接,我在数据模块上放置了一个 FDPhysFBDriverLink1 和一个 FDConnection1。

现在 FDPhysFBDriverLink1:它的 BaseDriverID 是 FB。对于 DriverID,我尝试了两个建议:首先使用“FB”,然后提供 fbclient.dll 的完整路径。似乎没有任何区别。

当我转到 Firedac 连接编辑器并输入数据库文件的路径时,我收到“无法加载供应商库(fbclient.dll 或 fbembed.dll)”错误。但是这两个文件都在应用程序 exe 文件夹中(就像 Embarcadero 网站上建议的那样)。那么,FireDAC 在哪里寻找文件?我对 Firebird 和 FireDAC 有点厌倦了,因为他们不能简单地解释必须做什么才能使连接成功。他们给出的只是一些模糊的选项,它们都不起作用。加这个加那个,最后失败。

因此,如果有人有如何通过直接回答来做到这一点的经验(请不要链接,我已经看过并尝试过所有链接),我将非常感激。尝试几天建立一个简单的连接真的很愚蠢。我也尝试过使用 UniDAC 获得类似的结果。我必须做什么才能完成连接?

0 投票
1 回答
1821 浏览

delphi - FireDac 连接字符串到 FireBird 2.5 嵌入式

我试过这个,但它似乎不起作用:

任何想法如何使这项工作?

0 投票
3 回答
4113 浏览

delphi - Firebird - 字段 ID 必须有值

我的 Firebird 字段 (ID) 的功能类似于 autoinc 字段(它有一个生成器和一个触发器)。当我使用 Firebird Maestro 并进行一些手动插入时,autoinc 字段功能正常(我只需要刷新表格)。然而,在 Delphi 方面(使用 FireDac)是另一个问题。当我尝试插入时,我收到一条警告消息“字段'ID'必须有一个值”。到底是怎么回事?有什么办法可以纠正这个吗?

编辑:正如您在图片中看到的,该字段已添加,但表仍处于插入模式并显示错误!

在此处输入图像描述

Edit2:我已经关闭了 ID 具有值的要求,但错误仍然存​​在(我已经打开和关闭连接以防万一它不会留在内存中)

在此处输入图像描述