我是Firebird的新手.我正在尝试从ASP.Net应用程序中使用Firebird Embedded.一切都很好,但我遇到了列名长度的问题.我正在尝试创建一个名为"Orchard_Framework_DataMigrationRecord"的表.我一直收到一个异常,说"名称长于数据库列大小".经过一番调查,我发现有很多人提到Firebird的列名长度限制为30个字符.
这是正确的,如果有的话有什么办法可以改变吗?在我的情况下,我不能改变表的名称; 它真的必须那么久.
我们有Delphi XE2.我们正在为我们的应用程序寻找数据库.我们尝试过Absolute Database,它支持我们需要的大多数SQL命令.我看到大多数Delphi用户选择Firebird但似乎很难使用.我对数据库和许可证非常困惑.这是我的问题:
当我们选择数据库时,让我们说绝对数据库,Firebird,MySql嵌入等等,如果我们有例如3.000客户,我们还需要向数据库开发人员支付费用吗?还是一次性费用?我很困惑,因为他们说我们购买时,我们可以在我们的建筑物内使用它(http://www.componentace.com/order/licenses.php).但是当我们发布我们的软件时,我们的客户当然需要使用相同的数据库.
Absolute DB易于安装并支持大多数SQL查询.Firebird不支持大多数SQL查询.它是否正确?
当我们尝试使用Firebird时,我们使用FlameRobin来设计数据库.但是当我们尝试使用IB组件进行连接时,它会说"无法连接数据库".
非常感谢你...
database delphi firebird embedded-database firebird-embedded
我正在尝试使用.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
我对数据库编程比较陌生。我将 firebird 2.5 与 IBPP 一起使用。我至少有两个应用程序使用 sampe firebird 数据库。我想连接嵌入式变体(fbembedded.dll、icudt30.dll、icuc30.dll),因为它将成为客户 PC 上的主机应用程序。我写了一个简单的测试应用,从数据库中读取数据,同时启动这个应用3次。一切正常。
但是现在我不确定这是否总是有效,以及是否稳定运行而不会损坏数据。因为当我使用查看器 ibexpert 与数据库建立连接时,我的测试应用程序无法连接到数据库。此外,文档 sais ( firebirdEmbedded ):
您可以同时运行多个嵌入式服务器,也可以将多个应用程序连接到同一个嵌入式服务器。拥有一个已经在运行的常规服务器也不是问题。 但是,嵌入式服务器在成功连接后会锁定数据库文件以供其独占使用。这意味着您不能同时从多个嵌入式服务器进程(或从任何其他服务器,一旦嵌入式服务器锁定文件)访问同一个数据库。
文档对吗?我的示例应用程序似乎相反。不久前我在我的电脑上安装了一个 firebird 超级服务器,但在测试之前卸载了它。
我有一个应用程序,它将一些数据存储在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) 如何以编程方式创建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) 在查看专有软件(可能使用 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 吗?
假设我有三个独立的应用程序,分别是MyPasswordManager,MyToolManager和MyMovieManager.每个应用程序都使用Firebird嵌入式数据库.
如果客户购买我的所有三个应用程序并将其安装在他/她的计算机上.我的客户同时运行所有三个应用程序,会发生什么?
Firebird dll会有冲突吗?你在这种情况下做了什么?
我使用这个库连接到嵌入式 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.msg文件的用途.是否包含在应用程序安装程序包中的可选或必需文件?
firebird ×9
c# ×3
database ×2
delphi ×2
.net ×1
ado.net ×1
delphi-2010 ×1
firebird-3.0 ×1
firebird2.5 ×1
node.js ×1