提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:黄竹雯|2019-03-07 09:58:09.000|阅读 436 次
概述:通常,当客户端需要连接到服务器时,一般假设它们可以建立直接连接。现在,由于安全原因或网络拓扑,通常需要使用代理或绕过防火墙。本篇文章介绍了几种不同的方法来使用UniDAC连接MySQL服务器。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
Universal Data Access Components (UniDAC)是一款通用数据库访问组件,提供了多个数据库的直接访问,如针对Windows的Delphi,C++Builder, Lazarus (以及 Free Pascal), Mac OS X, iOS,Android,Linux和64和32位的FreeBSD等等。我们将长期的经验集于这个小组件,提供统一的数据库连接访问(如oracle、微软SQL等等)。这意味着你可以在你的项目之间轻松地切换不同的数据库,以及创建跨数据库应用程序接口。
通常,当客户端需要连接到服务器时,一般假设它们可以建立直接连接。现在,由于安全原因或网络拓扑,通常需要使用代理或绕过防火墙。本篇文章介绍了几种不同的方法来使用UniDAC连接MySQL服务器。
直接连接到服务器意味着可以从客户端访问服务器主机,无需额外的路由和转发。这是最简单的情况。你需要操作的网络设置只有主机名和端口号。这也是与服务器通信的最快,最稳定的方式。建议你尽可能使用直接连接。
以下代码显示了其简单性:
UniConnection := TUniConnection.Create(self); UniConnection.ProviderName := 'MySQL'; UniConnection.Server := 'localhost'; UniConnection.Port := 3306; UniConnection.Username := 'root'; UniConnection.Password := 'root'; UniConnection.Connect;
有时,客户端计算机会被防火墙屏蔽,该防火墙不允许你直接在指定端口连接到服务器。如果防火墙允许HTTP连接,则可以将UniDAC与HTTP隧道软件一起使用以连接到MySQL服务器。UniDAC支持基于PHP脚本的HTTP隧道。
Web脚本隧道使用的示例可以是:你具有远程网站,并且禁止通过数据库服务器的端口访问其数据库。只允许通过HTTP端口80进行访问,并且你需要从远程计算机访问数据库,就像使用通常的直接连接一样。
你需要部署tunnel.php脚本,该脚本包含在Web服务器上的提供程序包中。它允许访问数据库服务器以使用HTTP隧道。该脚本必须通过HTTP协议提供。你可以验证是否可以使用Web浏览器访问它。该脚本可以在已安装的提供程序文件夹的HTTP子文件夹中找到, 例如:%Program Files Files%\Devart\UniDac for Delphi X\HTTP\tunnel.php。服务器的唯一要求是PHP 5支持。
要连接到数据库,你应该为通常的直接连接设置TUniConnection参数,这些参数将从Web服务器端建立,协议指定MySQL选项到mpHttp,并设置以下特定于HTTP隧道的参数:
特定选项 | 强制性 | 含义 |
HttpUrl | Yes | 隧道PHP脚本的URL。例如,如果脚本位于服务器根目录中,则URL可以是以下内容:http://localhost/tunnel.php。 |
HttpUsername, HttpPassword | No | 如果对具有脚本的网站文件夹的访问仅适用于使用用户名和密码进行身份验证的注册用户,则设置此属性。 |
考虑前一种情况,还有一个复杂问题。
从客户端计算机是无法直接访问HTTP隧道服务器的。例如,客户端地址为10.0.0.2,服务器地址为192.168.0.10,MySQL服务器侦听端口3307。客户端和服务器处在不同的网络中, 因此客户端只能通过地址10.0.0.1的代理来访问它,该代理侦听端口为808。在这种情况下,除了设置特定Http的选项之外,你还必须设置代理特定选项,如下所示:
UniConnection := TUniConnection.Create(self); UniConnection.ProviderName := 'MySQL'; UniConnection.Server := '192.168.0.10'; UniConnection.Port := 3307; UniConnection.Username := 'root'; UniConnection.Password := 'root'; UniConnection.SpecificOptions.Values['Protocol'] := 'mpHttp'; UniConnection.SpecificOptions.Values['HttpUrl'] := '//server/tunnel.php'; UniConnection.SpecificOptions.Values['ProxyHostname'] := '10.0.0.1'; UniConnection.SpecificOptions.Values['ProxyPort'] := '808'; UniConnection.SpecificOptions.Values['ProxyUsername'] := 'ProxyUser'; UniConnection.SpecificOptions.Values['ProxyPassword'] := 'ProxyPassword'; UniConnection.Connect;
请注意,设置代理特定选项会自动启用代理服务器。
请记住,交通隧道或加密总是会增加CPU使用率和网络负载。建议你尽可能使用直接连接。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢