问题标签 [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 投票
2 回答
8508 浏览

sql - 如何使用 FireDac 组件在 ms sql server 上获取最后插入的 id?

使用 FireDac,如何在 ms sql 服务器上获取最后插入的 id?谢谢

0 投票
1 回答
2095 浏览

sql-server - SQL Server 2012 消耗太多网络流量来获取所有数据

今天,我使用 AnyDAC (firedac) 进行了测试,以获取远程 SQL Server 2012 中可用的所有数据。

我从中获取数据的表有这些简单的列:

总行大小应最大为 33 个字节。

好吧,在获取表中所有可用的行(超过 214 万行)后,我检查了 FireDAC 接收到的 tcp 流量并观察到它大约是 280MB,这意味着每行需要大约 130 字节,而我的预期值接近 33 字节.

我通过使用在服务器端定义的存储过程进行的另一项测量,该存储过程具有插入到上面同一个表的 sql,我使用 AnyDAC 的 Array DML 功能调用了存储过程。数组大小为 300K,我总共使用它添加了 1880 万条记录。用于它的流量实现为 2.85 GB。(所以每行 150 个字节)

FireDAC 或 SQL Server 端是否有任何配置来减少流量?显然,这里有问题。有什么建议么?

谢谢。

信息输出:

0 投票
2 回答
1942 浏览

sqlite - 使用 AnyDAC (FireDAC) 从 SQLite 表中读取切片数据 (MBTiles) 的最有效方法是什么?

背景:

我正在研究一个 SQLite 切片缓存数据库(类似于MBTiles规范),现在仅由一个Tiles包含以下列的表组成:

X [INTEGER]- 水平瓦片索引(不是地图坐标)
Y [INTEGER]- 垂直瓦片索引(不是地图坐标)
Z [INTEGER]- 瓦片的缩放级别
Data [BLOB]- 带有瓦片图像数据的流(当前为 PNG 图像)

平铺计算的所有坐标都在应用程序中完成,因此SQLite R*Tree Module对应的TADSQLiteRTree类对我来说没有意义。我所需要的只是尽可能快地加载Data由给定值找到的记录的字段 blob 流。X, Y, Z

除此数据库外,应用程序还将具有由此TTileCache类哈希表实现的内存缓存:

在计算值的同时请求某个图块时的工作流程X, Y, Z将很简单。我会在内存缓存中请求一个磁贴(在应用程序启动时从上表中部分填充),如果在那里找不到磁贴,请询问数据库(即使找不到磁贴,下载它来自磁贴服务器)。

问题:

您将使用哪个 AnyDAC (FireDAC) 组件来频繁查询 SQLite 表中的 3 个整数列值(假设有 10 万条记录),并可选择加载找到的 blob 流?

你会使用:

  • 查询类型组件(我想说执行相同的准备好的查询可能很有效,不是吗?)
  • 内存表(我担心它的大小,因为瓷砖表中可能存储了几 GB,或者它是否以某种方式流式传输?)
  • 有些不同 ?
0 投票
1 回答
2408 浏览

sql-server - FireDAC SQL Server 连接:不受信任的证书

我通过在我的 SQL Server 上选择自签名证书来启用安全连接。

我可以使用 SQL Server Management Studio 连接到它并添加TrustServerCertificate=TrueAdditional Connection Parameters.

我需要 FireDAC 连接的相同配置,因为它给出了类似的错误

SSL 提供者:证书链由不受信任的机构颁发

当我尝试连接时。

如何告诉 FireDAC?(德尔福 XE4,FireDAC:8)

PS:我已经将我的自签名证书添加到 Windows“受信任的根证书颁发机构”中,但 FireDAC 似乎忽略了它。

谢谢

0 投票
1 回答
950 浏览

delphi - FireDAC:阵列 DML 进展

我正在使用 FireDAC 的 Array DML 功能将大量数据插入到我的远程 MS SQL 数据库中。

它工作正常,但需要时间来完成执行方法。在执行方法运行时,我想知道 FireDAC 的内部进度,以便我可以将其展示给用户耐心等待。

如何获取执行方法的实际状态?

PS:德尔福 XE4 和 FireDAC v8

谢谢。

0 投票
1 回答
1607 浏览

delphi - 将应用程序从 FIB+ 迁移到 Fire-DAC 组件的经过验证/推荐的方法

我正在将大量具有内部硬连线 FIB+ 连接的应用程序迁移到 Fire-Dac 组件,并且我正在寻找一些最不痛苦的方法,如何做到这一点。

首先,我已经解耦并迁移了后端以获得连接中性和连接依赖部分,并手动重构了现有应用程序。我也写过 FireDac 部分。

迁移Delphi代码似乎没问题...

但是屁股的大痛似乎是在设计时迁移放置在表单和数据模块上的组件:我安装了 GExpert 并尝试了它的命令 Replace Components with defined rules 如何映射一些属性,但它失去了组件之间的相互引用,可能由于逐步更换过程中的类型不兼容。

我目前的方法是手工工作:为旧 FIB+ 组件的名称添加后缀,将原始名称复制并粘贴到新的相应 Fire-Dac 组件中。我对所有组件重复此步骤,然后正确设置属性并删除 FIB+ 组件。它允许我在此过程中一次又一次地检查旧设置。

有没有人有一些经过验证/推荐的方法来做得更好?

谢谢,pf

0 投票
1 回答
1453 浏览

delphi - FireDAC SQLite backup saves no data

When executing the following code, the database file only has table names. No field names or actual data seems to be getting copied over.

The dan.sdb file is being created, it just lacks any backup data. The application displays data and works fine.

Ideas?

0 投票
1 回答
955 浏览

delphi - AnyDac - 如何断开与内存中的 sqlite db 的连接?

我在 Delphi XE2 上使用带有 AnyDac 的内存 SQLite 数据库。我注意到即使我在重新启动程序后忘记先连接数据库,我的查询也会返回结果,这可能是由 AnyDac 的自动连接功能引起的。问题是我猜这也一定意味着即使在程序本身终止后内存数据库仍保留在内存中,这是一种内存泄漏。

我查看了 AnyDac 文档并在线搜索,但我找不到任何方法来正确使用 AnyDac断开与数据库的连接。我注意到,当我调用 TADConnection 的“关闭”方法时,sqlite 文件似乎保持打开状态。我想我的内存数据库也会发生同样的情况。

谁能告诉我如何以正确和安全的方式完全关闭、断开和删除内存中的 SQLite 数据库?

0 投票
1 回答
1023 浏览

delphi - XE4/FireDAC uADStanCipher 未找到错误

当我尝试编译我的 XE4/FireDAC 项目时,我收到以下错误:

我已经搜索了解决方案,但由于出口限制,该文件似乎没有随标准 FireDAC 安装程序一起分发。

一些 Google 结果参考链接http://cc.embarcadero.com/item/29376。看来该链接应该允许您下载正确的文件。不幸的是,我收到了一个不可用的提交错误。

我是 XE4 的完全注册用户。

有没有人找到解决这个问题的方法?

0 投票
1 回答
716 浏览

c++builder - TDBGrid TADTable 滚动时显示重复行

我有一个TDBGridwith TADTable(FireDAC 组件来替换 BDE TTable)。该表有一个ID (varchar(1)), Name (varchar(30)), Description(varchar2(400)). 这只是为了显示,没有计算等发生。当关联表格以显示表格的ID字段并且我向上或向下滚动时,网格中会出现重复记录:所以:

A;B;C;D会变成A;A;B;A;A;B;C;D;D

如果我从表中删除 400 char 字段,此行为将停止。

我该如何进行这项工作?

我正在使用 C++Builder XE4、FireDac 和 Oracle 11g

我尝试用 TMS 中的 TDBAdvGrid 替换 TDBGrid(同样的问题),所以 TADTable?