- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道并且听说过在 Delphi (XE2) 中有多种连接数据库服务器的方法:套接字、datasnap、webservices、远程数据模块 (¿?)、dbExpress 和其他第三方,如 UniDAC。我通常使用 UniDAC,但我想知道何时以及如何正确使用它们。显然 DataSnap 是 Delphi 的旗舰。我还没有找到有用的教程来回答这些问题。那么对于 Win32 应用程序,在开发客户端应用程序时,考虑到安全性、灵 active 和可扩展性,推荐选择哪种方式?
有没有办法让客户端 Win32 应用程序对数据库访问的更改透明?也就是说,如果我分发了 100 个客户端应用程序并且我想更改数据库访问的密码,那么必须更新每个客户端应用程序将是一个问题。
是否建议为客户端应用程序建立与数据库的唯一连接?
我尝试测试 DBExpress(与 Delphi XE2 捆绑)和 AnyDAC 以连接到我的远程 MySQL 数据库,但 VendorLibs 出现问题。有没有一种方便的方法来解决这个问题,而不必安装我想测试的每个 RDBMS?
DBExpress 是免费的还是我必须为更多功能付费?
任何人都可以推荐非常好的书籍来学习 DataSnap、中间件应用程序等?
提前致谢。
最佳答案
如果您有多个分布式客户端,您可能希望使用多层解决方案(如 DataSnap 或 DataAbstract),其中在服务器端运行单个持久数据连接,每个客户端只需连接到该服务器应用程序即可请求数据。
DataSnap 提供多种不同的客户端/服务器连接解决方案:Socketed、REST 等,因此您可以自行决定哪种方式最适合您的系统。
DataAbstract 似乎是市场上最流行的多层数据应用程序解决方案之一(如果不是的话),我碰巧知道许多开发人员出于各种原因对它发誓(安全性是其中之一,易用性是另一个原因)。
我一直认为,如果您的客户端应用程序需要直接连接到数据库,那么您做错了!
如果您正在寻找有关 DataSnap 的更多信息,在最近的 CodeRage 事件中有一些有趣的 session 。您可以在 Embarcadero's CodeCentral subsite 下载/观看任何这些类(class)(免费)。 .
至于书籍,最好的选择永远是 Marco Cantú 的 Delphi 手册(特别是 XE 书籍,它仍然主要适用于 XE2 的 DataSnap)。
重要的是要记住,DataSnap 仅随 Delphi 的 Enterprise、Ultimate 和 Architect 版本提供......它在 Pro 或 Starter 中不可用!
尽管如此,您始终可以在您自己的服务器层上使用 ODBC 连接到任何 ODBC 数据库(包括 MySQL、MSSQL、Oracle ......甚至是 MS Access,如果您想享受“过去的爆炸”),然后使用任何网络您喜欢的套接字解决方案(例如随 Delphi [所有版本] 作为标准附带的 Indy)将您的客户端应用程序链接到服务器层!看看 TADOConnection、TADOQuery 等。
希望您发现此信息有用!
关于database - 关于使用 Delphi XE2 进行数据库编程的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7775087/
我们使用 Azure 弹性池,生成多个客户端数据库和一个引用客户端数据库的主数据库。 我们已经拥有多个数据库,并且正在开发新版本的代码。我们使用 EF6 代码优先。当我们对模型进行更改(添加属性)时,
我们使用 Azure 弹性池,生成多个客户端数据库和一个引用客户端数据库的主数据库。 我们已经拥有多个数据库,并且正在开发新版本的代码。我们使用 EF6 代码优先。当我们对模型进行更改(添加属性)时,
我希望将一些信息分发到不同的机器上,以便在没有任何网络开销的情况下实现高效和极快的访问。数据存在于关系模式中,实体之间的关系是“加入”的要求,但根本不是写入数据库的要求(它会离线生成)。 我非常相信
我使用 GrapheneDB 来托管我的 neo4j 数据库 (db)。 问题 我有 N客户并且正在寻找自动分离他们的内容(他们独特的数据库)的方法,以便: 它不重叠数据 操作速度不受影响。 选项 1
当服务器开始工作(Tomcat)时,日志显示此错误: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid b
我在 Oracle 数据库实例中按以下方式创建了一个触发器。 CREATE OR REPLACE TRIGGER after_logon_on_database AFTER LOGON ON DATA
原谅我的无知,我是数据库约定的初学者。 这是我的 SQLite 代码:(由我的数据库浏览器自动生成) CREATE TABLE `ResearchItems` ( `ID` INTEGER NO
是的是的是的,我已经在整个互联网上搜索过这个问题。一些结果发现,甚至来自 Stackoverflow。但是他们中的大多数人说“你应该自动加载数据库”,或者“parent::__construct();
我正在创建一个 Mac 应用程序,它将一些数据保存到 SQLite 数据库中。问题是:当我关闭数据库并再次打开时,数据不存在了。这是我的代码: NSString *sql = [NSString st
我正在建立一个网站,我打算发布各种帖子,比如教程、文章等。我打算用 php 来管理它,但是当涉及到存储每个帖子的内容时,将要显示的文本,更好的选择是:使用单独的文本文件还是将其添加为数据库中的每个条目
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
对不起,这个关键字对我来说没有任何意义...有人可以给我一个定义吗? 提前致谢... 最佳答案 这是一个品牌。 http://pervasive.com/这是他们的数据库产品的链接 http://ww
我已经在 docker 版本 1.10.1 的 docker 镜像中安装了 PostgreSQL 9.4.6。根据这张官方图片: https://github.com/docker-library/p
当我的 android 应用程序尝试读取 android 短信数据库时,我遇到了这个崩溃。读取android短信数据库的代码类似于下面的代码 fragment : String SMS_URI = "
我有一个 public kit repo,我推送了 v1.0.3 并具有以下结构 go -database --database.go --go.mod --go.sum 我需要它 require g
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
我们正在使用MySQL数据库在Go中创建一个Web应用程序。我们的用户一次只能拥有一个活跃的客户端。就像Spotify一样,您一次只能在一台设备上听音乐。为此,我制作了一个映射,将用户ID和作为其值的
我已经尝试在 PostgreSQL 中创建数据库好几天了,遇到了几个问题,但似乎卡住了。 我在 PostgreSQL 中手动创建了一个名为 postgres_development 的数据库,因为 b
我正在创建一个 iMessage 应用程序,它需要连接到与我的常规应用程序相同的数据库。 我调用 FirebaseApp.configure() 并对用户进行身份验证,但出于某种原因,在所有 Data
就像std::unordered_map但所有数据都应存储在磁盘上而不是内存中。 按照我的理解,应该做两部分:索引和存储。我已经学习了一些关于索引的数据结构,比如 Linear-Hash 或 B-Tr
我是一名优秀的程序员,十分优秀!