标签: firebird-embedded

是否可以扩展Firebird表名长度?

我是Firebird的新手.我正在尝试从ASP.Net应用程序中使用Firebird Embedded.一切都很好,但我遇到了列名长度的问题.我正在尝试创建一个名为"Orchard_Framework_DataMigrationRecord"的表.我一直收到一个异常,说"名称长于数据库列大小".经过一番调查,我发现有很多人提到Firebird的列名长度限制为30个字符.

这是正确的,如果有的话有什么办法可以改变吗?在我的情况下,我不能改变表的名称; 它真的必须那么久.

firebird firebird-embedded

7
推荐指数
1
解决办法
5682
查看次数

为Delphi应用程序选择数据库和许可

我们有Delphi XE2.我们正在为我们的应用程序寻找数据库.我们尝试过Absolute Database,它支持我们需要的大多数SQL命令.我看到大多数Delphi用户选择Firebird但似乎很难使用.我对数据库和许可证非常困惑.这是我的问题:

  1. 当我们选择数据库时,让我们说绝对数据库,Firebird,MySql嵌入等等,如果我们有例如3.000客户,我们还需要向数据库开发人员支付费用吗?还是一次性费用?我很困惑,因为他们说我们购买时,我们可以在我们的建筑物内使用它(http://www.componentace.com/order/licenses.php).但是当我们发布我们的软件时,我们的客户当然需要使用相同的数据库.

  2. Absolute DB易于安装并支持大多数SQL查询.Firebird不支持大多数SQL查询.它是否正确?

  3. 当我们尝试使用Firebird时,我们使用FlameRobin来设计数据库.但是当我们尝试使用IB组件进行连接时,它会说"无法连接数据库".

非常感谢你...

database delphi firebird embedded-database firebird-embedded

6
推荐指数
2
解决办法
1412
查看次数

Firebird .NET提供程序和嵌入式服务器3

我正在尝试使用.NET Firebird Provider连接到嵌入式FB 3.0.1服务器.

据我所知,(也写在这里(第6页)),没有更多的fbclient.dll\fbembed.dll,但单个客户端fbclient.dll用于远程和嵌入式访问.

但是当我调用FBConnection.Open()时,我得到一个System.DllNotFoundException:

Unable to load DLL 'fbembed': 
Impossible to find the specified module (Exception from HRESULT: 0x8007007E).
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

c# firebird firebird-embedded firebird-3.0 firebird-.net-provider

6
推荐指数
1
解决办法
3373
查看次数

通过嵌入式 dll 从多个应用程序连接到一个 firebird 数据库

我对数据库编程比较陌生。我将 firebird 2.5 与 IBPP 一起使用。我至少有两个应用程序使用 sampe firebird 数据库。我想连接嵌入式变体(fbembedded.dll、icudt30.dll、icuc30.dll),因为它将成为客户 PC 上的主机应用程序。我写了一个简单的测试应用,从数据库中读取数据,同时启动这个应用3次。一切正常。

但是现在我不确定这是否总是有效,以及是否稳定运行而不会损坏数据。因为当我使用查看器 ibexpert 与数据库建立连接时,我的测试应用程序无法连接到数据库。此外,文档 sais ( firebirdEmbedded ):

您可以同时运行多个嵌入式服务器,也可以将多个应用程序连接到同一个嵌入式服务器。拥有一个已经在运行的常规服务器也不是问题。 但是,嵌入式服务器在成功连接后会锁定数据库文件以供其独占使用。这意味着您不能同时从多个嵌入式服务器进程(或从任何其他服务器,一旦嵌入式服务器锁定文件)访问同一个数据库。

文档对吗?我的示例应用程序似乎相反。不久前我在我的电脑上安装了一个 firebird 超级服务器,但在测试之前卸载了它。

database firebird embedded-database firebird-embedded

5
推荐指数
1
解决办法
4289
查看次数

退出后,嵌入式服务器应用程序停止工作

我有一个应用程序,它将一些数据存储在firebird数据库中.我正在使用嵌入式火鸟服务器和EntityFramework,并且所有工作都非常好但是当我通过表单上的x按钮关闭我的应用程序时,我得到一个Windows系统消息"应用程序已停止工作",我无法捕获此异常.我的应用程序中有一个UnhandledExceptionHandler:

// Add handler for UI thread exceptions
Application.ThreadException += new ThreadExceptionEventHandler(UIThreadException);

// Force all WinForms errors to go through handler
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

//This handler is for catching non-UI thread exceptions 
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

.....some other code..........

Application.Run(new MainForm());
Run Code Online (Sandbox Code Playgroud)

但这种例外从来没有被它抓住过.所以我去了windows事件日志,发现有错误事件的xml-view:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Application Error" /> 
  <EventID Qualifiers="0">1000</EventID> 
  <Level>2</Level> 
  <Task>100</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2017-03-14T23:06:25.000000000Z" /> 
  <EventRecordID>36077</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>MYPC</Computer> 
  <Security /> 
  </System>
- <EventData>
  <Data>MyApp.exe</Data> 
  <Data>1.0.0.0</Data> 
  <Data>58c7a3f0</Data> 
  <Data>fbintl.DLL</Data> 
  <Data>2.5.5.26952</Data> 
  <Data>5644432f</Data> 
  <Data>c0000005</Data> 
  <Data>00004e9c</Data> 
  <Data>1d64</Data> 
  <Data>01d29d1797fb7f0d</Data> 
  <Data>G:\Programming\WorkSpace\C#\MyApp\bin\x86\Debug\MyApp.exe</Data>
  <Data>G:\Programming\WorkSpace\C#\MyApp\bin\x86\Debug\FireBirdEmbeddedServer\intl\fbintl.DLL</Data> 
 <Data>d84a6ca6-090a-11e7-8151-005056c00008</Data> 
 </EventData>
 </Event> …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework unhandled-exception firebird-embedded

5
推荐指数
1
解决办法
396
查看次数

如何以编程方式创建Firebird数据库文件?

如何以编程方式创建Firebird数据库文件?

我用SQLite编写代码(C#.NET,System.Data.SQLite)...决定尝试Firebird.

安装Firebird:Windows 7 - > Visual Studio 2013 - >文件 - >新建 - >项目等----------然后工具 - >库包管理器 - >管理NuGet包 - >搜索"firebird " - > Firebird ADO.NET数据提供程序 - >安装(按钮).

导致a)引用 - > FirebirdSql.Data.FirebirdClient,和b)FirebirdSql.Data.FirebirdClient.5.8.0 subdir ... with Firebird .dll's.

要创建Firebird数据库文件,我尝试过(从另一个StackOverflow帖子中提取):

int pageSize = 4096;
bool forcedWrites = true;
bool overwrite = false;
var connectionString = new FbConnectionStringBuilder
{
    Database = stPathFilename,
    ServerType = FbServerType.Embedded,
    UserID = "SYSDBA",
    Password = "masterkey",
    ClientLibrary = "fbclient.dll"
}.ToString();
FbConnection.CreateDatabase(connectionString, pageSize, forcedWrites, overwrite);
Run Code Online (Sandbox Code Playgroud)

除了stPathFilename之外,我认为这是标准的.但是,此代码通过异常...抱怨fbclient.dll.

然后我试了一下

    ClientLibrary = …
Run Code Online (Sandbox Code Playgroud)

.net c# ado.net firebird firebird-embedded

5
推荐指数
1
解决办法
961
查看次数

如何轻松确定 .fdb 文件的版本(Firebird 数据库)

在查看专有软件(可能使用 Firebird Embedded)的 .fdb 数据库时,如何确定需要设置哪个版本的 Firebird?

我目前可以想象的唯一方法是使用十六进制查看器查看“ODS-version”,它是页面标题的一部分,它很可能也用作文件标题的格式,然后以某种方式通过挖掘存储库历史找出哪个 Firebird 版本支持哪个 ODS 版本。至少现在,ODS 版本的编码如下所述。

相关文档: https : //firebirdsql.org/file/documentation/reference_manuals/reference_material/Firebird-Internals.pdf

相关代码:

https://github.com/FirebirdSQL/firebird/blob/3dd6a2f5366e0ae3d0e6793ef3da02f0fd05823a/src/jrd/ods.h

inline USHORT DECODE_ODS_MAJOR(USHORT ods_version)
{
    return ((ods_version & 0x7FF0) >> 4);
}

inline USHORT DECODE_ODS_MINOR(USHORT ods_version)
{
    return (ods_version & 0x000F);
}
Run Code Online (Sandbox Code Playgroud)

真的没有更简单的方法来确定所需的 firebird 版本,例如使用一些 cli-tool 吗?

firebird firebird-embedded

5
推荐指数
1
解决办法
5377
查看次数

如何在同一台计算机上部署两个或多个使用Firebird Embedded数据库的应用程序?

假设我有三个独立的应用程序,分别是MyPasswordManager,MyToolManagerMyMovieManager.每个应用程序都使用Firebird嵌入式数据库.

如果客户购买我的所有三个应用程序并将其安装在他/她的计算机上.我的客户同时运行所有三个应用程序,会发生什么?

Firebird dll会有冲突吗?你在这种情况下做了什么?

delphi firebird delphi-2010 firebird-embedded

4
推荐指数
1
解决办法
928
查看次数

嵌入式 Firebird 数据库

我使用这个库连接到嵌入式 firebird 数据库:

https://github.com/xdenser/node-firebird-libfbclient

在“克隆”和“npm install”之后,我收到以下错误消息:

con.connectSync('test.FDB','sysdba','masterkey','');
Error: While connecting - unsupported on-disk structure for file D:\FIREBIRD-TEST\test.FDB; found 11.2, support 12.0
Run Code Online (Sandbox Code Playgroud)

我还尝试使用旧版本的 firebird(2.1.15 版)。出现以下错误:

module.js:355
  Module._extensions[extension](this, filename);
                               ^
Error: Das angegebene Modul wurde nicht gefunden.
D:\firebird-test\firebird\build\Release\binding.node
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (D:\firebird-test\firebird\firebird.js:1:77)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
Run Code Online (Sandbox Code Playgroud)

firebird firebird-embedded node.js

3
推荐指数
1
解决办法
2939
查看次数

firebird.msg在firebird数据库中的用途是什么?

我正在考虑将Firebird与我的应用程序一起使用.我想知道该firebird.msg文件的用途.是否包含在应用程序安装程序包中的可选或必需文件?

firebird firebird2.5 firebird-embedded

2
推荐指数
1
解决办法
4874
查看次数