大名鼎鼎的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的安装路径是否正确(建议:设置成绝对路径了,防止因为 ...
随机推荐
- linux查看redis安装目录
1.在redis下查看安装目录 如果命令 which 和whereis 都找不到安装目录,可使用以下办法 ps -ef|grep redis 得到了进程号 xxxx 然后 ls -l /proc/xx ...
- hdu1384Intervals(差分约束)
#include <bits/stdc++.h> using namespace std; ; const int inf = 0x3f3f3f3f; int n, head[maxn], ...
- nginx安装记录
1.下载nginx http://nginx.org/en/download.html 下载稳定版本,以nginx/Windows-1.12.2为例,直接下载 nginx-1.12.2 ...
- python SQLAlchemy的简单配置和查询
背景: 今天小鱼从0开始配置了下 SQLAlchemy 的连接方式,并查询到了结果,记录下来 需要操作四个地方 1. config ------数据库地址 2.init ----- 数据库初始化 3 ...
- CF938G Shortest Path Queries 和 CF576E Painting Edges
这两道都用到了线段树分治和按秩合并可撤销并查集. Shortest Path Queries 给出一个连通带权无向图,边有边权,要求支持 q 个操作: x y d 在原图中加入一条 x 到 y 权值为 ...
- 爬虫 - 请求库之requests
介绍 使用requests可以模拟浏览器的请求,比起python内置的urllib模块,requests模块的api更加便捷(本质就是封装了urllib3) 注意:requests库发送请求将网页内容 ...
- 题解 UVa11461
题目大意 多组数据,每组数据给出两个正整数 \(a,b\),请求出 \(a,b\) 之间的完全平方数的个数. 分析 前缀和即可. #include<bits/stdc++.h> using ...
- linux 查看某个目录下文件的数量
今日思语:时间是个庸医,却自称能包治百病~ 在linux环境下,经常需要查看某个文件目录下的文件数有多少,除了进入当前目录下查看,还可以使用命令: ls -l | grep "^-" ...
- [TJOI2015]概率论——期望&&母函数
题意 求一个含有 $n$ 个结点的有序二叉树的叶子节点的期望个数.($n \leq 10^9$) 分析 一堆推导..... 得 $ans = \frac{n(n+1)}{2(2n-1)}$ #incl ...
- php+tcpdf生成pdf: 中文乱码
TCPDF是一个生成PDF的不错的库,可惜,官方对包括中文在内的东亚字体支持不怎么样的.场景:某项目需要根据数据库信息生成pdf格式的发票,考虑采用稳定的tcpdf,虽然还有许多其它选择,但是这个应该 ...