大名鼎鼎的UniDAC手工安装
第一次开博,该写点什么。由于懒,很多事情,都不想动。不过,懒不能解决遗忘的毛病。还是动手,记录一下吧。
好了,言归主题。
UniDAC 的手工安装。
现在Delphi,已经发展到了XE6,支持多种移动设备,包括Android,IOS,WinMobile,并且都是原始编译,是不是很激动人心。Delphi是Windows 世界里,开发最快的IDE工具。以前被形容为“美丽的VB杀手”!当然在Linux世界,以前出来过 Kylix,只是更新到Kylix3,以后就停止跟新了,很是可惜。 在CentOS6.4或RedHat 高版本上安装不了(我是没有安装成功)。不过,没关系,Linux 下 还可以选择Lazarus+FreePacal,尽管Lazarus相比Delphi来说,用起来很不爽,那也没有办法的事。
为什么选择UniDAC,因为它支持几乎所有的平台,包括Windows32,Windows64,FMX,Android,IOS;其二,它支持目前几乎所有的数据库驱动,包括Oracle,DB2,MySQL,MSSQL,InterBase,PostgreSQL,SQLite,ASE,Access 等,并且效率极高;在实际上线的项目中,运行非常稳定。以前是安装Delphi7下,这次选择安装XE版本。作为实用的开发者来说,当然选择高效,稳定的产品了。当然好的东西是需要付出代价的,这里只是安装说明,如果你是给公司干活,还是购买正版为好。
UniDAC,版本: 5.39 ,在Delphi盒子上有下载。目前支持Delphi5以上所有的版本。当然也支持Lazarus。
既然这样,我的安装环境是 ,Window7 + DelphiXE版本(目前最高支持到XE6)。下载下来,目录结构如下:
那么怎么开始安装呢,做任何事件,都需要方法。既然不知道到,怎么下手,先随便看看,点击Source ,目录
晕了,这么目录,我选择XE版本,到底,我安装哪一个呢。现在Delphi发展到今天,已经有好多版本了。在Baidu一下,哪位仁兄,已经给出答案了。详细请看
http://www.wedelphi.com/Delphi-Version.html ,
看到了吗,Delphi15 对应 XE版本,Delphi19 对应XE5,那么Delphi20,对应XE6 ,不过,今天我选择在XE上安装。至于你问我为什么在XE安装,是因为以前的项目是在XE上,懒得在高版本上折腾了。呵呵,还是懒。
其实,如果养成好的习惯,根本,就不需要baidu. 我们要先看说明,然后才动手。
如果,我们先看上面几个文档,就能非常容易知道,Delphi15 对应的XE版本。好了,我们打开ReadmeSrc.html,
点击进去,因为选择源码编译,所以点击Using IDE 左边一栏,当然右边Using make-files ,也可以安装,不过这回还是动动手,一步一步来吧。
上面,已经写得非常详细了。相信,你稍微懂点English,都看得懂吧。我选择MySQL。当然安装其他比如Oracle 或 MSSQL驱动 都一样的。按着说明一步一步来。
第一步,先安装dac150.dpk. 打开XE IDE,打开 定位到 D:\XE-Project\3rd\UniDAC 5.39 d7-xe6 src\Source\Delphi15目录,选择dac150.dpk. 如下图:
,然后选择Build。
第二步,选择dacvcl150.dpk.在XE中,Build。如下图:
第三部:,选择dcldac150.dpk.在XE中,Build。如下图:
在这步,进行Build 的时候,出现错误提示:
如上图,没有IdeConsts.inc,先不要着急,在下载的源码目录下,搜索一下,是否存在 这个文件。还好,文件是存在的,只是没有IDE,没有找到而已。如果没有找到,那说明,下载源码包,有问题。进入找到,那很好办,在IDE中间,Library指定源码位置,即可,如下图。
第四步:选择unidac150.dpk,IDE中Build。如下图:
第五步: 选择 unidacvcl150.dpk
在安装的过程中,出现:
点击OK即可。
Build的时候,出现错误了。
意思 是说,找不到 vcl.Grahpics.dcu,不过还是不要着急啊。出现问题,分析问题,然后解决问题。这个vcl.Grahpics.dcu,是Delphi源文件,和UnDac没有关系。我们知道,从XE以后的版本(大概是吧,记不清楚了),单元的命名规则,稍有变动,比如以前Grahpics,现在现在命名为 vcl.Grahpics,这样,命名更加清晰。因为在Delphi 引入 FireMonkey后,Delphi实际上支持两种UI。一种以前老版本的VCL,一种就是FMX。所以,在XE6中,你会看到以这样的PAS单元。比如以前缀FMX开头。是为了区分。知道这么一层关系后,就知道怎么解决问题了。直接把 vcl. 去掉。 变成Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, 然后再编译。不过种暴力解决方式不是很好。如果哪天考虑到要在Xe6下安装,那岂不是又要加上。做好的解决方法,是添加编译条件。
如下 XE RTLVersion=22.00,改成 如下。
{$IF RTLVersion>22.00}
Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ExtCtrls,
{$ELSE}
Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls,
{$IFEND}
然后Build,通过。
第六部:dclunidac150.dpk,注意这一步,需要Build ,并且 Install要安装。
Intall 后:
第七步:MySQL - myprovider150.dpk;,因为,我们只安装MySQl,所以选择 myprovider150.dpk. 当然要安装 Oralce的话,就按下列,对应选择。
Oracle - oraprovider150.dpk;
Microsoft SQL Server - msprovider150.dpk;
MySQL - myprovider150.dpk;
InterBase and Firebird - ibprovider150.dpk;
PostgreSQL - pgprovider150.dpk;
SQLite - liteprovider150.dpk;
NexusDB - nexusprovider150.dpk;
ODBC - odbcprovider150.dpk;
After you have compiled odbcprovider150.dpk, you can compile the following provider packages:
Microsoft Access - accessprovider150.dpk;
Sybase Advantage Database Server - adsprovider150.dpk;
Sybase Adaptive Server Enterprise - aseprovider150.dpk;
DB2 - db2provider150.dpk;
DBF - dbfprovider150.dpk;
然后,进行Build。表示已经安装成功了。
因为在 上面第二步,我们已经把源文件添加到库路径来。
那么为了,验证我们刚才安装是否成功。我们打开他们提供Demo。
F9,运行,结果报错。如下:
通过分析,上面,很多我们没有安装 ,只安装了myprovider150.dpk,所以提示找不到。
那么,因为是Demo嘛,我们通过 暴力 方法解决,把不要的屏保掉。如下。当然 MySQLUniProvider 后面的 逗号 , 也要去掉。
{$IFNDEF CLR}
// OracleUniProvider,
{$IFNDEF LINUX}
// SQLServerUniProvider,
{$ENDIF}
// InterBaseUniProvider,
MySQLUniProvider
// PostgreSQLUniProvider,
// SQLiteUniProvider
{$IFNDEF LINUX}
// ,ODBCUniProvider,
// DB2UniProvider,
// AccessUniProvider,
// AdvantageUniProvider,
// ASEUniProvider
{$ENDIF}
再次F9,运行 大功告成了。
注意一点:中文乱码的解决方法,设置UniConnection属性specificOptions-->Options(页签中 Provider: 下列选择MySQL)-->UseUnicode 设置为 True,点击保存。如下图:
大名鼎鼎的UniDAC手工安装的更多相关文章
- Unidac手工安装
Universal Data Access Components Source Code Copyright 1997-2010, Devart. All Rights ReservedThere ...
- 手动安装UniDAC的过程
每次安装都不一样,而且有时候挺麻烦的,所以记下来.我这次安装过程是这样的: 0. 修改Source\Delphi7\Make.bat,填入正确的IdeDir 1.找到source\delphi7目录, ...
- 使用Unidac内置连接池
第一步: 放一个TUniconnection并设置相关属性 之后直接使用TUniconnection对象即可 跟踪unidac源码uni单元1540行中可以看到 Connect方法调用CreateIC ...
- unidac连接FireBird数据库
dbconn: TUniConnection; with dbconn do begin if not Connected then begin ...
- Delphi FireMonkey使用UniDAC 连接MySQL
首次用Delphi XE6 开发安卓程序,并没有在网上找到连接远程MySQL服务器的文档,自己摸索一番,发现UniDAC控件新版本也已支持了FireMonkey下的开发.遂记下连接方法和大家分享. 1 ...
- [置顶] myEclipse8.5或者eclipse手工安装jd插件(myEclipse8.5或eclipse内直接查看.class文件,jd反编译工具)
myEclipse8.5或eclipse下手工安装jd-gui反编译软件 下载jdeclipse_update_site.zip网址是(http://dldx.csdn.net/fd.php?i=32 ...
- 大名鼎鼎的红黑树,你get了么?2-3树 绝对平衡 右旋转 左旋转 颜色反转
前言 11.1新的一月加油!这个购物狂欢的季节,一看,已囊中羞涩!赶紧来恶补一下红黑树和2-3树吧!红黑树真的算是大名鼎鼎了吧?即使你不了解它,但一定听过吧?下面跟随我来揭开神秘的面纱吧! 一.2-3 ...
- 在datasnap 中使用unidac 访问数据(客户端)
前面我们讲了如何使用unidac 在datasnap 的服务端访问数据库,今天大概讲一下客户端如何访问 前面做的服务器?其实这个客户端适合任何datasnap 服务端. 首先我们建一个应用,并加入一个 ...
- uniDAC的安装和使用
1.解压后把UniDAC文件夹 2.在UniDAC\Source\Delphi7文件夹中找到Make.bat文件,鼠标右键“编辑”确认DELPHI7的安装路径是否正确(建议:设置成绝对路径了,防止因为 ...
随机推荐
- 二进制搭建Kubernetes集群(最新v1.16.0版本)
目录 1.生产环境k8s平台架构 2.官方提供三种部署方式 3.服务器规划 4.系统初始化 5.Etcd集群部署 5.1.安装cfssl工具 5.2.生成etcd证书 5.2.1 创建用来生成 CA ...
- PAT甲级1008水题飘过
题目分析:上去下来到达的时间和数量 #include<iostream> using namespace std; ]; int main(){ int n; while(scanf(&q ...
- waitpid()函数
waitpid函数 作用同于wait,但可指定pid进程清理,可以不阻塞. pid_t waitpid(pid_t pid,int *status,int options);成功:返回清理掉的子进程I ...
- 牛客1024B 石头游戏
题目描述 石头游戏在一个 \(n\) 行 \(m\) 列 \((1\leq n,m \leq 8)(1≤n,m≤8)\) 的网格上进行,每个格子对应一种操作序列,操作序列至多有10种,分别用0~9这1 ...
- 七牛云——qshell一个神奇的工具
前言 qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具.该工具设计和开发的主要目的就是帮助开发者快速解决问题.目前该工具融合了七牛存储,CDN,以及其他 ...
- docker-compose部署zabbix4.2.5
桥接模式(mysql和zabbix-server镜像本人修改了一些配置进行重构过) cat zabbix.yml version: '3' services: mysql: image: debian ...
- 36大数据和about云的文章总结
36大数据: 白话机器学习 http://www.36dsj.com/archives/78385 基于Hadoop的数据仓库Hive 基础知识(写的很好) http://www.36dsj.com/ ...
- Spring框架:Controller和RestController区别
了解如何利用SpringMVC的注释创建RESTful Web服务. Spring的基于注释的MVC框架简化了创建RESTful Web服务的过程.传统的Spring MVC控制器和RESTful W ...
- window对象(全局对象)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ML.NET 笔记
ROC曲线 ROC空间将偽陽性率(FPR)定義為 X 軸,真陽性率(TPR)定义为 Y 轴. TPR:在所有實際為陽性的樣本中,被正確地判斷為陽性之比率. FPR:在所有實際為阴性的样本中,被錯誤地判 ...