第一次开博,该写点什么。由于懒,很多事情,都不想动。不过,懒不能解决遗忘的毛病。还是动手,记录一下吧。

好了,言归主题。

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手工安装的更多相关文章

  1. Unidac手工安装

      Universal Data Access Components Source Code Copyright 1997-2010, Devart. All Rights ReservedThere ...

  2. 手动安装UniDAC的过程

    每次安装都不一样,而且有时候挺麻烦的,所以记下来.我这次安装过程是这样的: 0. 修改Source\Delphi7\Make.bat,填入正确的IdeDir 1.找到source\delphi7目录, ...

  3. 使用Unidac内置连接池

    第一步: 放一个TUniconnection并设置相关属性 之后直接使用TUniconnection对象即可 跟踪unidac源码uni单元1540行中可以看到 Connect方法调用CreateIC ...

  4. unidac连接FireBird数据库

    dbconn: TUniConnection; with dbconn do    begin      if not Connected then         begin            ...

  5. Delphi FireMonkey使用UniDAC 连接MySQL

    首次用Delphi XE6 开发安卓程序,并没有在网上找到连接远程MySQL服务器的文档,自己摸索一番,发现UniDAC控件新版本也已支持了FireMonkey下的开发.遂记下连接方法和大家分享. 1 ...

  6. [置顶] 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 ...

  7. 大名鼎鼎的红黑树,你get了么?2-3树 绝对平衡 右旋转 左旋转 颜色反转

    前言 11.1新的一月加油!这个购物狂欢的季节,一看,已囊中羞涩!赶紧来恶补一下红黑树和2-3树吧!红黑树真的算是大名鼎鼎了吧?即使你不了解它,但一定听过吧?下面跟随我来揭开神秘的面纱吧! 一.2-3 ...

  8. 在datasnap 中使用unidac 访问数据(客户端)

    前面我们讲了如何使用unidac 在datasnap 的服务端访问数据库,今天大概讲一下客户端如何访问 前面做的服务器?其实这个客户端适合任何datasnap 服务端. 首先我们建一个应用,并加入一个 ...

  9. uniDAC的安装和使用

    1.解压后把UniDAC文件夹 2.在UniDAC\Source\Delphi7文件夹中找到Make.bat文件,鼠标右键“编辑”确认DELPHI7的安装路径是否正确(建议:设置成绝对路径了,防止因为 ...

随机推荐

  1. 【转】GnuPG使用介绍

    一.什么是 GPG 要了解什么是 GPG,就要先了解 PGP. 1991 年,程序员 Phil Zimmermann 为了避开政府监视,开发了加密软件 PGP.这个软件非常好用,迅速流传开来,成了许多 ...

  2. Python应用之-file 方法

    #!/usr/bin/env python # *_* coding=utf-8 *_* """ desc: 文件方法 ######################### ...

  3. keras神经网络开发知识笔记

    mnist数据集获取60000个训练样本和10000个测试样本,样本为0-9十个数字,用全连接神经网络进行训练,并测试结果. 例程采用60000个数据样本进行训练,对于一般的电脑来说,这样训练会比较费 ...

  4. 04 Vue Router路由管理器

    路由的基本概念与原理 Vue Router Vue Router (官网: https://router.vuejs.org/zh/)是Vue.js 官方的路由管理器. 它和vue.js的核心深度集成 ...

  5. POJ - 3728:The merchant (Tarjan 带权并查集)

    题意:给定一个N个节点的树,1<=N<=50000 每个节点都有一个权值,代表商品在这个节点的价格.商人从某个节点a移动到节点b,且只能购买并出售一次商品,问最多可以产生多大的利润. 思路 ...

  6. HDU - 5823:color II (状压DP 反演DP)

    题意:给定连通图,求出连通图的所有子图的颜色数. 一个图的颜色数,指最少的颜色数,给图染色,使得有边相邻的点之间颜色不同. 思路:首先想法是DFS枚举,然后计算颜色,发现对于给定图,求颜色不会求? 毕 ...

  7. 转发: JS中的call()和apply()方法和区别 --小白变色记

    一.方法定义: apply:调用一个对象的一个方法,用另一个对象替换当前对象.例如:B.apply(A, arguments);即A对象应用B对象的方法. call:调用一个对象的一个方法,用另一个对 ...

  8. 洛谷 P2085 最小函数值

    目录 题目 思路 \(Code\) 题目 戳 思路 首先这些函数全部单带递增,因为\(a\),\(b\),\(c\)都是正整数. 我们将全部的函数的\(x\)为\(1\)时的函数值放入优先度列(小根堆 ...

  9. 计蒜客 39268.Tasks-签到 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest A.) 2019ICPC西安邀请赛现场赛重现赛

    Tasks It's too late now, but you still have too much work to do. There are nn tasks on your list. Th ...

  10. BZOJ4241 历史研究 【回滚莫队】

    题目描述:给出一个长度为\(n\)的数组,每次询问区间 \([l,r]\),求 \(\max\limits_{x}x*cnt_x\),其中 \(cnt_x\) 表示 \(x\) 在区间 \([l,r] ...