大名鼎鼎的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的安装路径是否正确(建议:设置成绝对路径了,防止因为 ...
随机推荐
- tensorflow tfrecoder read write
# write in tfrecord import tensorflow as tf import os os.environ[' FLAGS = tf.app.flags.FLAGS tf.app ...
- JSON.stringify(),JSON.parse(),toJSON()使用方法总结
今天在看<你不知道的javascript-中>第四章‘强制类型转换’的时候,发现JSON.stringify(),JSON.parse(),toJSON()有很多细节,自己也就总结测试了一 ...
- Codeforces I. Vessels(跳转标记)
题目描述: Vessels time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...
- ThinkPHP支持的4种路由模式
下面这个说法和示例,比较具有总结性.
- 项目Alpha冲刺 8
作业描述 课程: 软件工程1916|W(福州大学) 作业要求: 项目Alpha冲刺(团队) 团队名称: 火鸡堂 作业目标: 介绍第8天冲刺的项目进展.问题困难和心得体会 1.团队信息 队名:火鸡堂 队 ...
- myshell
要求 利用fork,exec,wait编写一个具有执行命令功能的shell
- Codeforces Round #605 (Div. 3) B. Snow Walking Robot(构造)
链接: https://codeforces.com/contest/1272/problem/B 题意: Recently you have bought a snow walking robot ...
- Evaluation of fast-convergence algorithm for ICA-based blind source separation of real convolutive mixture
实际卷积混合情况下,基于ICA的盲源分离算法快速收敛性能评估[1]. 提出了一种新的盲源分离算法,该算法将独立分量分析ICA和波束形成BF相结合,通过优化算法来解决盲源分离的低收敛问题.该方法由以下三 ...
- learning svn diff --summarize
# svn diff --summarizeA armbian-custom-dc/test/4g-power.shA armbian-custom-dc/test/4g-reset.shM armb ...
- vlang module 使用
vlang 支持module,概念以及使用类似rust 以及golang 的gopath(从当前的文档以及使用来说),但是还不完整 以及是够用,但是有问题 v module 试用 项目结构 ├── ...