问题标签 [firedac]

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 回答
1174 浏览

delphi - Delphi:FireDac 连接阻止应用程序

我正在启动一个带有登录表单的应用程序。

在用户写入登录数据之前,我想谨慎地连接到 SQL 服务器。

问题是,当我的连接速度很慢或到服务器的路径错误时,应用程序正在寻找服务器或尝试连接,此时应用程序没有响应。

对于连接,我使用以下过程:

请帮助我就如何做到这一点提出一些建议。我已经阅读了有关线程的内容,Application.ProcessMessages但我没有成功使其顺利运行。

0 投票
1 回答
1964 浏览

delphi - AnyDac aka FireDac 无法生成更新查询

我使用 UniDac 已经很长时间了,并决定继续使用 FireDac,因为在继续使用后它具有良好的异步方法,我发现我的数据编辑都不再工作了,这给了我一个错误:

[FireDAC][物理]-330。无法生成更新查询。更新表未定义。

我在这里要做的是我有一个 TFDStoredProc 组件,它从数据库中获取所有数据并让我编辑它,使用 unidac 我可以轻松地编辑数据而不会出现这样的问题:

并且它有效,但使用 AnyDac 却没有,我尝试手动指定 UpdateTable,这会导致另一个问题:

[FireDAC][Phys][ODBC][Microsoft][SQL Server Native Client 11.0][SQL Server]列名“CreatedID”无效。

我正在使用 Microsoft SQL Server 2012 FireDac 8.0 和存储过程来获取结果有什么想法吗?

附言

查询看起来像这样

看起来 FireDac 更新构建器无法识别字段上的别名,我们将不胜感激。

0 投票
1 回答
3363 浏览

delphi - Delphi XE6 FireDac Master Detail 错误

我在主从关系中有两个表。使用 TFDTables。我在 TDBGrid 中显示详细信息表

当我调用主表时,我可以成功创建一个详细记录。当我尝试添加第二个问题时,问题就开始了。

系统确实将第二条记录发布到数据库,但是当它在详细信息网格中为第三条记录添加新行时,它会用第二条记录中的信息填充它。更改这第三条记录会产生错误:

项目 xyz.exe 引发异常类 EFDDBEngineException,消息为“[FireDAC][Phys][FB]-312。确切更新影响了 [2] 行,而请求了 [1]。

此外,当我在 Delphi 的调试器中单击确定时,它会显示:

项目 xyz.exe 引发异常类 EFDException,消息为“[FireDAC][DApt]-400。更新命令更新了 [2] 而不是 [1] 记录。可能的原因:更新表没有 PK 或行标识符,记录已被另一个用户更改/删除。

但是更改确实存储在数据库中,就好像我更改了第二条记录一样,网格中的第二条记录也反映了第三条记录中输入的内容)我意识到这些正在生成,因为它尝试更新不存在的第三条记录.

当我关闭程序并检查数据库时,在错误之前的最后一个帖子的保存点,数据库中只有两条记录。当我重新打开应用程序时,网格会显示三个记录,第二个和第三个是相同的。

任何帮助或想法将不胜感激。

法利

0 投票
1 回答
550 浏览

android - 在 XE6 中设置 TSQLConnection 以连接 Oracle 数据库

我正在 RAD Studio XE 6 中创建一个移动应用程序来处理存储在服务器中的远程 Oracle 数据库。

我在 RAD Studio 中是全新的,在 Oracle 数据库中是更新的。我到处阅读了很多关于如何TSQLConnection使用 Oracle 服务器设置的信息,但我根本无法让它工作。

我正在尝试遵循本教程,但在该教程中,他们使用interbase. 我需要使用 Oracle,但正如我提到的,我做不到。

我已经阅读了一个名为 tnsnames.ora 的文件,关于我需要安装的 Oracle 客户端,以及大量无法正常工作的信息。在其他类型的问题中,我遇到了防火墙错误。

此刻我完全糊涂了。

有人知道是否有一些信息可以逐步帮助我吗?

0 投票
3 回答
1906 浏览

sql-server - Delphi Firedac - 区分大小写的问题

我正在尝试将我的应用程序从 ADO 迁移到 FireDAC。我正在使用 Microsoft SQL Server。我的数据库服务器安装了排序规则 SENSITIVE CASE,并且数据库是使用排序规则 INSENSITIVE CASE 创建的。我做这个配置是因为我的客户有这个配置。但是当我尝试迁移到 FireDAC 时,FireDAC 驱动程序 (MSSQL) 会查看数据库排序规则并将属性“数据库名称”更改为大写。在那之后,很多事情都没有奏效,因为 FireDAC 没有在 sysdatabase 中找到“数据库名称”。我可以关闭这个更改“数据库名称”属性的功能吗?

0 投票
1 回答
1910 浏览

delphi - 使用 FireDac 聚合

我正在将 XE6 与 FireDac 一起使用。我有一个 FDMemTable,其中 ItemVals 作为 ftfloat 字段。我想使用 SUM(ItemVals) 的聚合函数,但我只想添加值 >0 的 ItemVals。ItemVals 是一个 ftfloat 但据我所知,我不能将空值分配给浮点数. 所以我使用 -1 的值来指示(对我来说)一个空值。我试过 SUM(ItemVals)>0 但它只返回一个 TRUE。谁能指出我正确的方向?谢谢。

0 投票
2 回答
1657 浏览

mysql - [FireDac][物理][MySQL]-1101。不受支持的 MySQL 版本 [0]。支持从 v 3.20 到 v6.2 的客户端和服务器

有谁知道如何在 RAD Studio XE6 Delphi 上解决这个错误

如果您使用 Embarcadero FireDAC\Samples\Comp Layer\TFDConnection\DLL_Sharing 提供的示例应用程序并将 FDConnection 更改为使用 MySQL 服务器,则会收到此错误。[FireDac][物理][MySQL]-1101。不受支持的 MySQL 版本 [0]。支持从 v 3.20 到 v6.2 的客户端和服务器。

exe 中的连接工作,使用 MySQL 服务器,但 DLL 中的共享没有。即使遵循 FireDAC DLL_Sharing 中的步骤..

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 投票
5 回答
503 浏览

delphi - 在关闭并重新打开应用程序之前,日期格式无法正确显示

我正在使用 FireDAC 和 SQLite3 在 Delphi 中开发一个简单的数据库应用程序。每当我将新记录插入数据库时​​,我的表单上显示的日期格式yyyy-mm-dd始终m/d/yyyy为无需关闭并重新打开我的应用程序。

FireDAC 连接的定义参数和选项都是默认值。为保存 SQLite3 数据库中日期的字段设置的 DataType 设置为DATE。最后,我用来插入记录的代码如下。

任何帮助,将不胜感激。

0 投票
1 回答
1821 浏览

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

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

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