DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: fsfwrfwsf
今日帖子: 5
在线用户: 3
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/15 5:05:14
标题:
Firebird v4.0.2 released 浏览:1152
加入我的收藏
楼主: Sources
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.tar.xz

32-bit Kits
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0-Win32.exe
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0-Win32.zip

32-bit Debug Kits (Binary + PDB components)
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0-Win32-pdb.exe
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0-Win32-pdb.zip

64-bit Kits
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0-x64.exe
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0-x64.zip

64-bit Debug Kits (Binary + PDB components)
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0-x64-pdb.exe
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0-x64-pdb.zip

Linux x86
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.i686.tar.gz
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-debuginfo-4.0.2.2816-0.i686.tar.gz

Linux AMD64
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.amd64.tar.gz
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-debuginfo-4.0.2.2816-0.amd64.tar.gz


IMPORTANT!
Android builds were not thoroughly tested, therefore they should be treated as experimental.
Please report any problems you experience to the development mailing list: https://firebirdsql.org/en/devel-mailing-lists/ 


Android ARM32
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.arm.tar.gz
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-withDebugInfo-4.0.2.2816-0.arm.tar.gz

Android ARM64
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.2816-0.arm64.tar.gz
https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-withDebugInfo-4.0.2.2816-0.arm64.tar.gz


Manuals:
https://firebirdsql.org/file/documentation/release_notes/html/en/4_0/rlsnotes40.html
https://firebirdsql.org/file/documentation/release_notes/Firebird-4.0.1-ReleaseNotes.pdf

https://firebirdsql.org/file/documentation/html/en/refdocs/fblangref40/firebird-40-language-reference.html
https://firebirdsql.org/file/documentation/pdf/en/refdocs/fblangref40/firebird-40-language-reference.pdf

other languages:
https://firebirdsql.org/en/reference-manuals/
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/15 5:06:17
1楼: 1. General Notes
Thank you for choosing Firebird 4.0. We cordially invite you to test it hard against your expectations and engage with us in identifying and fixing any bugs you might encounter.

ODS 13 is introduced and it’s a major ODS upgrade, so older databases cannot be opened with a Firebird 4 server. The engine library is named engine13.dll (Windows) and libEngine13.so (POSIX). The security database is named security4.fdb. Binaries layout and configuration are unchanged from Firebird 3.

That said, you can copy the Firebird engine library from the Firebird 3.0 distribution package (named engine12.dll (Windows) and libEngine12.so (POSIX), and located inside the /plugins sub-directory) to continue working with databases in ODS12 without needing a backup/restore. However, new features introduced with Firebird 4.0 will not be accessible.
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2022/8/15 11:05:28
2楼: 楼主在盒子发了不下100个firebird帖子,对firebird应当非常熟悉,可否介绍下frrebird性能用法,可以跨平台吗?怎么连接呢?
----------------------------------------------
-
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/15 11:13:54
3楼: Firebird is released in multi-platform as showed above!
Firebird was born from Interbase 6 when it was "open-source" by Borland!
-- today, it following separated way... 

Firebird / Interbase base protocol is TCP/IP

Note: 
Firebird have mode "Classic" and "SuperServer" (SS is default) and Mix (Classic + SuperServer way)
Firebird can use "Embedded" if you needs, for Mobile/Win/Linux!
----------
"Server" can be Windows or Linux or any other O.S. supported by Firebird!!!

- in Mobile, as default, you use like a "Client"
--- connect to server Win/Linux using TCP/IP

- in PC you can use it like "server" or "client"!
-- database file(s) needs to be hosted same computer than server-firebird by default!
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 kwer (★★★★★) ★☆☆☆☆ -
普通会员
2022/8/15 11:49:08
4楼: Firebird have mode "Classic" and "SuperServer" 
FB我就只用"桌面模式" 因为sqlite不堪用。
----------------------------------------------
==========-==========-==========-==========-==========
     多隆, 给我备一匹最快的马, 我有事要走先~~~
==========-==========-==========-==========-==========
作者:
男 homejun (homejun) ★☆☆☆☆ -
盒子活跃会员
2022/8/15 15:56:47
5楼: firebird性能比sqlite强很多,根本不是一回事。跨平台的
----------------------------------------------
-delphi新资讯站 http://www.delphigear.cn
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2022/8/15 16:50:32
6楼: Firebird 是大型数据库。在使用 SQL SERVER 的地方你用 Firebird 也没问题的。

当然,桌面程序的本地数据库你使用 FireBird 也没问题。1. 完整安装数据库本身也没占多少硬盘空间;2. 你还可以使用它的嵌入模式,只需要一个 DLL 和几个配套的文件,直接拷贝过去就能用,无需安装。

用 Delphi 的话,可以考虑使用 Delphi 官方的 InterBase,也可以考虑开源的 FireBird;

在安卓上比如手机 APP 需要一个 APP 内置的数据库,目前我不知道 FireBird 如何装进去,而 FireDAC 使用 SQLITE 无需做什么安装,APP 直接 release 就可以了。APP 内部的数据库本身也不可能有多大的数据量,所以使用 SQLite 也还不错。
----------------------------------------------
-
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/15 22:16:06
7楼: Firebird is supported by many languages currently, like new RUST:

Rust Firebird Client updated with Firebird wire protocol implemented in pure Rust and ARM support

https://crates.io/crates/rsfbclient
https://github.com/fernandobatels/rsfbclient
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 kentty (kentty) ★☆☆☆☆ -
普通会员
2022/8/16 10:38:34
8楼: Firebird一直有个问题没有搞明白:
怎么在Firebird安装运行后,通过SQL来新建一个数据库?
看到的手册里面都是要修改服务器端的配置文件,增加一行新数据库的描述
请大神解惑,多谢

现在切换到Mariadb感觉还不错,尤其是HeidiSQL很给力
----------------------------------------------
-
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/16 12:33:15
9楼: the FDConnection in FireDAC try connect to a database, but it can create it if dont exists...

- RAD Studio 11.1 Alexandria
- Firebird 4.01 32bits
- VCL 32bits

type
  TForm1 = class(TForm)
    FDConnection1: TFDConnection;
    FDQuery1: TFDQuery;
    FDGUIxWaitCursor1: TFDGUIxWaitCursor;
    FDPhysFBDriverLink1: TFDPhysFBDriverLink;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

----------
implementation

{$R *.dfm}

var
  SQL_Create_DB: string =          { }
    'CREATE DATABASE 127.0.0.1/3052:D:\RADRX111Tests\Databases\FB401v32b.fdb ' + { }
    'USER ''SYSDBA'' PASSWORD ''masterkey PAGE_SIZE 16384 ' +          { }
    'DEFAULT CHARACTER SET NONE COLLATION NONE';
  //
  SQL_Create_Table: string =       { }
    'RECREATE TABLE MYTABLE (' +   { recreate a table if already exists...  }
    'ID       INTEGER NOT NULL,' + { }
    '"NAMES"  VARCHAR(20)' +       { }
    ')';
  //
  SQL_Select_Table: string = { }
    'SELECT * FROM MyTable';

procedure TForm1.Button1Click(Sender: TObject);
begin
  FDPhysFBDriverLink1.VendorLib := 'C:\RADCmps\FB40132b\fbclient.dll';
  //
  FDConnection1.Close;
  FDConnection1.Params.Clear;
  //
  FDConnection1.Params.Add('DriverID=FB');
  FDConnection1.Params.Database := ExtractFileDir(ParamStr(0)) + '\MyNewDB.FDB';
  FDConnection1.Params.UserName := 'SYSDBA';
  FDConnection1.Params.Password := 'masterkey';
  //
  FDConnection1.Params.Add('Protocol=TCPIP');
  FDConnection1.Params.Add('Port=3052');
  FDConnection1.Params.Add('Server=127.0.0.1');
  //
  FDConnection1.Params.Add('OpenMode=OpenOrCreate'); // create or open...
  //
  FDConnection1.Params.Add('PageSize=16384');
  FDConnection1.Params.Add('CharacterSet=ISO8859_1');
  //
  // ... FDConnection1.Params.Add('DropDatabase=Yes'); // if exists? 
  //

  FDConnection1.Connected := true; // do the connection and "IF NOT EXISTS..." any new action try create a new database... Like "create table ....' below
  //
  // FDConnection1.ExecSQL(SQL_Create_Table);
  //
  // FDQuery1.SQL.Text := 'DROP Table MyTable'; // Firebird 3/4 can use "RECREATE Table..."
  // FDQuery1.ExecSQL;
  //
  FDQuery1.SQL.Text := SQL_Create_Table; // cause create a database if not exists...
  FDQuery1.ExecSQL;
  //
  try
    FDConnection1.StartTransaction;
    //
    FDQuery1.SQL.Text := 'INSERT INTO MYTABLE (ID, "NAMES") VALUES (1, ''john'');';
    // 'INSERT INTO MYTABLE (ID, "NAMES") VALUES (2, 'mary');
    // 'INSERT INTO MYTABLE (ID, "NAMES") VALUES (3, 'peter');
    // 'INSERT INTO MYTABLE (ID, "NAMES") VALUES (4, 'joanne');
    FDQuery1.ExecSQL;
    //
  finally
    FDConnection1.Commit;
  end;
  //
  FDQuery1.Open(SQL_Select_Table);
end;

end.
此帖子包含附件:
PNG 图像
大小:14.5K
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 kwer (★★★★★) ★☆☆☆☆ -
普通会员
2022/8/16 14:29:08
10楼: Firebird一直有个问题没有搞明白:
怎么在Firebird安装运行后,通过SQL来新建一个数据库?
----
同mssql/mysql一样需要命令来完成 isql.exe

https://firebirdsql.org/file/documentation/html/en/refdocs/fblangref40/firebird-40-language-reference.html#fblangref40-ddl-db-create

网页中有一段话(划重点)
If necessary, you can always fallback to isql to create a database.
如有必要,您可以随时回退到isql来创建数据库。


https://firebirdsql.org/file/documentation/html/en/refdocs/fbdevgd30/firebird-30-developers-guide.html#fbdevgd30-database
----------------------------------------------
==========-==========-==========-==========-==========
     多隆, 给我备一匹最快的马, 我有事要走先~~~
==========-==========-==========-==========-==========
作者:
男 kentty (kentty) ★☆☆☆☆ -
普通会员
2022/8/16 15:09:19
11楼: @9楼

'CREATE DATABASE 127.0.0.1/3052:D:\RADRX111Tests\Databases\FB401v32b.fdb '
问题似乎就这这里,远程app端应该没有必要知道服务器端的目录结构

FDConnection1.Params.Database := ExtractFileDir(ParamStr(0)) + '\MyNewDB.FDB'; 这一段是在本机(安装了Firebird server)目录下创建了一个数据库,似乎和C/S的初衷冲突了
----------------------------------------------
-
作者:
男 kentty (kentty) ★☆☆☆☆ -
普通会员
2022/8/16 15:17:20
12楼: @10楼

现在MariadB用的比较多,在用户端部署app的时候,先在一个服务器上装好DB Server,有必要的话新建app所需的用户,不新建的话也可以,只是要开放一个能创建用户的账号;app内部初次运行的时候直接需要知道服务器端IP/Port/Account用FDConnection+FDQuery就可以完成创建用户、数据库、表等初始化工作,没怎么用过iSQL不太清楚

这时候app端根本不需要知道服务器端的目录结构等内部信息

最开始用Firebird的时候,app端需要写一大段服务器端的配置说明,比较麻烦

当然也许是我还没摸透Firebird的套路
----------------------------------------------
-
作者:
男 kentty (kentty) ★☆☆☆☆ -
普通会员
2022/8/16 15:27:49
13楼: If the full path to the database is not specified, the database will be created in one of the system directories. The particular directory depends on the operating system. For this reason, unless you have a strong reason to prefer that situation, always specify either the absolute path or an alias, when creating a database.

官方还强烈建议创建数据库的时候给出绝对目录,这样无形中增加了C/S的耦合程度,不知道Firebird团队这么处理是基于什么考虑的
----------------------------------------------
-
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/16 20:49:47
14楼: Basically, Firebird works like this:
-- The database must be located on the same computer as the Firebird-Server; 

Why?

Why Firebird-Server controls data file access to keep control over uniqueness or not (sharing) between sessions opened by clients.

However, auxiliary files, for example, if the Database has more complementary files, it is possible to store them on other disks besides the disk/computer where Firebird-Server resides.
Thus, clients "should not have access to create new databases directly", if they do, they would be breaching server security.

In this case, it is the DBA's duty to create the Database files requested by the clients. But wouldn't that be something interesting, because, imagine 1000 customers asking to create a database?
Of course, in scenarios like "clouds" there are services that allow customers to create their own database... but that's actually part of the truth.

But for database application database, you shouldn't have direct access to the server, which would open loopholes for many other harmful actions.
In Firebird 3/4, you must use the configuration file "Firebird.conf" and "Database.conf" to determine the locations and how to access the database files on the server.
In the file "Firebird.conf" you can determine the types of access in general (all), protocols, ports, among many other security parameters.

In the "Database.conf" file you can specify the security parameters for a particular database, that is, each database can have its own rules, in addition to the general rule.

Thus, you form your curtain of fire to prevent misuse of Firebird-Server and indiscriminate access of Computer-Server.

The ideal way to give access to your database is to use the "Database.conf" file to hide the address and directory where the database file resides.

This is done by creating an "alias" for the actual location of the database file.

https://firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb3-fbconf-perdatabase.html

In my example, I created a DB file where my client application was, because Firebird-Server was installed on this same computer.

However, for more real projects, it might be possible to create a 3-tier application, which would be responsible for creating the database, for example.

This application should reside on the Firebird-Server, and it would be responsible for executing the file creation actions. Then, clients would send requests to app-3-layers, and it would talk to Firebird-Server and create the DB file, and it would respond to clients with the required information, i.e. name, address and port, user and password so that customers could access the new database.
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/16 20:55:21
15楼: The "Alias" must be determined in the "Database.conf" file, so clients will not be able to know its value in advance.

Therefore, only the DBA should know about it.

On the other hand, customers will be able to know the "ALIAS" for use only. Not its value! --> this is part of the security system for accessing real directories.

The DBA would make the "Alias" available for the client to use, but the client could not create a new database file, since this "alias" refers to an already determined file, and the attempt to create a new file would imply file creation privileges on the server, among others....
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/16 20:58:18
16楼: Firebird example in Database.conf:

  # Directives for MYBIGDB
  MYBIGDB = opt/databases/mybigdb.fdb

  Or...

  MYBIGDB = $(var_to_folder_dbs)/mybigdb.fdb
     {
       ....config params for this Database....
     }
----------
Clients string-connection:

... nnn.nnn.nnn.nnn/nnnn:MYBIGDB...
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/16 22:05:12
17楼: screenshots:
此帖子包含附件:
PNG 图像
大小:502.6K
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/16 22:15:31
18楼: screenshot
此帖子包含附件:
PNG 图像
大小:368.5K
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/16 22:18:00
19楼: IBExpert xpert in Firebird

https://www.ibexpert.net/ibe/pmwiki.php?n=Doc.FirebirdPerformanceComparison

FIREBIRD tests Nov/2021

"Conclusion

All tests in this White Paper were performed on the same hardware with a SATA SSD for the OS and an NVMe SSD for the database, which is the standard hardware we use in our Basic IFS Servers. Our high-end IFSLR servers offer rather better performance, but are only distributed with Linux OS, and were therefore not used for these comparison performance tests.

There is no clear winner here, although Firebird 3 on Linux OS has some small advantage.

In the other hand, the Linux Operating System has a clear advantage over Windows, and Firebird 3 has some advantage in the CPU and Thread test, although Firebird 4 on Windows has a clear advantage on the Drive test."
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/16 22:47:43
20楼: In time...

in Apr/2020 conference in Brazil ( Largest number of Firebird users )
Limits v3:
Database: 64TB
table size: 18TB

Limits v4:
128 TB (232 x page size)
https://firebirdsql.org/en/firebird-technical-specifications/

 ---->  Largest Known Database: 11 TERABYTES -- a Brazilian "insurance" company - however, the name cannot be disclosed for security reasons!

Firebird 3 installer: 9MB for Windows

Oracle Express  10g = 216MB

SQL Server Express Core 2016 = 411MB
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/17 2:57:39
21楼: Firebird mode and usage indicated:

NOTE: for any usage it's necessary ALWAYS test the "FIREBIRD.CONF" configurations! 
-- Dont exists "magic" setup for any environment!
----- each "case" is a "new case"!!!

if it does not works in your environment, CERTALLY, your configuration it's not OK for your environment!

IBSurgeon is reference to test and customized "Firebird.conf" files
They have many years in performance test in many scenary (hardware using Firebird)


-- Firebird is so quick or more than MySQL, including in Internet!!! (v3 or v4)

---- Firebird have just one problem when using in high-latency network (internet) ... BLOB fields!!! unfortunatelly this fields really it's slow in some cases! (mainly if BLOB is big).

///
此帖子包含附件:
PNG 图像
大小:408.2K
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 szlbz (szlbz) ★☆☆☆☆ -
盒子活跃会员
2022/8/17 10:40:22
22楼: 经测试,firebrid嵌入版在linux aarch64(需自行编译)能正常使用,不过部署时要注意安装相关支持包:
sudo apt-get install libcrypt-dev
sudo apt-get install libtommath-dev
sudo apt-get install libmcrypt-dev
sudo apt-get install libtomcrypt-dev
及生成的firebird要拷贝到/usr/local目录。
数据库连接控件不需要填写server、username 和password,只需指定数据库及libfbclient.so.4.0.2文件位置即可。
此帖子包含附件:
PNG 图像
大小:157.4K
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云) ★☆☆☆☆ -
普通会员
2022/8/18 19:28:23
23楼: 谢谢楼上
----------------------------------------------
-
作者:
男 kylix2008 (kylix2008) ★☆☆☆☆ -
普通会员
2022/8/24 14:32:44
24楼: 相对来说,Firebird 是不是性能一般,技术发展缓慢?
----------------------------------------------
-
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/24 21:04:57
25楼: Better ask to xpert like IBExpert / IBPhoenix 
https://ibexpert.net/ibe/
https://www.ibphoenix.com/    (reference in support Firebird)

at general, the performance is very relative!
if your hardware and logical infra-structure is a minimun-required, then, the Firebird can "speak" like an eloquent speaker at a congress of ideas!

Now, if you put him in a lecture where he needs to use a translator, then don't expect the meaning of the words to be exactly what you expect to hear from the speaker!

summary:
the performance is very good if your infra-structure too!

Could you run Oracle on a 386 with 2MBytes of ram, and 100 concurrent users, and without experiencing any system stutters?

Don't want to compare a Relational Database with a Big-Data environment!
But also don't look at the most current version as if it were still the first version of the software!

Much has passed and much has been overcome!

Note: performance is closely tied to the SQL code you use in Database-SQL.
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
作者:
男 emailx45 (emailx45) ▲▲▲▲△ -
注册会员
2022/8/27 12:00:35
26楼: How to access Firebird / Interbase using LOCAL, REMOTE and EMBEDDED way? differences? by Emailx45  

http://bbs.2ccc.com/topic.asp?topicid=633784
----------------------------------------------
The higher the degree, the greater the respect given to the humblest!
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v2.1 版权所有 页面执行53.71094毫秒 RSS