我使用Delphi 7和DBExpress.我想将我的应用程序完全迁移到firebird 2.1.我已经知道在服务器端做什么但在客户端不太确定.
在TSQLConnection组件中,我看到vendorLib属性指向GDS32.dll.driverName是Interbase,getDriverFunc是getSQLDriverINTERBASE.
我不知道为了我的连接使用fbclient.dll该怎么办.我尝试在vendorLib中将gds32.dll更改为fbclient.dll,但它在我的应用程序中导致了一些访问冲突.
有小费吗?
我有一个表已经包含一些行,并没有主键.
我想现在添加一个主键,但为此我需要为现有行的主键字段设置唯一值.如何使用新添加的发电机完成?
我想在 Firebird 中创建一个存储过程:
CREATE PROCEDURE CalcPvIncome
( BeginDate date,
EndDate date,
KwPrice decimal (2,2) )
RETURNS ( Total_PV_Production decimal (9,2),
Total_Income decimal (9,2) )
AS
BEGIN
FOR SELECT SUM(ENERGY/1000), SUM((ENERGY/1000) * :KwPrice)
FROM PVPROD
WHERE proddate >= :BeginDate AND proddate <= :Enddate
INTO :Total_PV_Production , :Total_Income
DO
BEGIN
SUSPEND ;
END
END
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
发动机代码:335544569
引擎消息:动态 SQL 错误 SQL 错误代码 = -104 命令行意外结束 - 第 18 行,第 9 列
SQL语句:
SELECT
SUM(ENERGY/1000) AS Total_PV_Production,
sum((ENERGY/1000)*0.55) as Total_Income
FROM
PVPROD
where
proddate …Run Code Online (Sandbox Code Playgroud) 如何在Firebird中使用varchar(max)声明此表?
CREATE TABLE MyUser
(
Id INT, -- unique id of user
Signature VARCHAR(max),
Login VARCHAR(50),
UserPassword VARCHAR(100),
CONSTRAINT PK_MyUser PRIMARY KEY (Id)
);
COMMIT;
Run Code Online (Sandbox Code Playgroud)
可能吗?
假设有一个包含非主键列(A,B,C,D)的表,该表的索引是(A,B,C,D)
涉及(A,B,C,D)子集的查询会使用索引吗?如上所述,部分键查找存在哪种特质?
我对这在SQL Server,Sqlite,Firebird中的工作方式特别感兴趣。
我想结合一些数据,但一个简单的选择例子不起作用.选择现有表工作正常......
SELECT 1 as foo
Run Code Online (Sandbox Code Playgroud)
信息:
can't format message 13:896 -- message file C:\xxxx\firebird.msg not found. Dynamic SQL Error. SQL error code = -104. corrupt pool.
在MySQL和Postgres这些简单的选择没问题.
感谢帮助!
我想备份一个firebird数据库.我正在使用gbak.exe实用程序.它工作正常.
但是,当我想从远程计算机进行备份时,备份文件存储在serveur文件系统中.有没有办法强制gbak实用程序下载备份文件?
谢谢
我是火鸟新手.我试图从DB中获取名称,但它返回:
<Buffer d2 f3 f0 e0 e5 e2 e0 20>
Run Code Online (Sandbox Code Playgroud)
这是什么意思?如何将其转换为可读字符?提前致谢
db.query('SELECT FIRST 10 * FROM client', function(err, result) {
// IMPORTANT: close the connection
console.log(result[0].name)
db.detach();
});
Run Code Online (Sandbox Code Playgroud) 我想了解一下情况.
我创建了一个Windows服务来完成应用程序的任务管理.
该服务连接到数据库(Firebird)并调用执行任务管理的组件.
此过程正常,但在Windows 10中,重新启动计算机后服务不会自动启动.在其他版本的Windows中,一切都很完美.在测试中,我已经确定如果我评论调用任务执行的方法,该服务通常在Windows 10上启动.
Procedure TDmTaskService.ServiceExecute(Sender: TService);
Begin
Inherited;
While Not Terminated Do
Begin
//Process;
Sleep(3000);
ServiceThread.ProcessRequests(False);
End;
End;
Run Code Online (Sandbox Code Playgroud)
问题是组件或服务中没有生成任何异常.
通过分析Windows事件监视器,我发现我的服务发生的错误是超时,在这种情况下,服务无法在时间限制内连接到服务管理器.不再生成异常.
有没有人有任何关于连接数据库的Delphi制作的Windows服务?
我的源代码示例:
**Base class:**
unit UnTaskServiceDmBase;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs;
type
TDmTaskServicosBase = class(TService)
private
{ Private declarations }
public
function GetServiceController: TServiceController; override;
{ Public declarations }
end;
var
DmTaskServiceBase: TDmTaskServicosBase;
implementation
{$R *.DFM}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
DmJBServicosBase.Controller(CtrlCode);
end;
function TDmTaskServicosBase.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
end. …Run Code Online (Sandbox Code Playgroud) 我有一个Firebird数据库,它将日期时间字段保存为DOUBLE.我创建了一个ColdFusion数据源连接,因此我可以远程查询数据.在正确返回其余数据的同时,datetime字段不可读.我尝试过使用CAST和CONVERT无济于事.如何将其转换为时间戳?
存储数据的一个例子是: 43016.988360
firebird ×10
sql ×4
database ×3
delphi ×2
firebird2.1 ×2
backup ×1
buffer ×1
coldfusion ×1
create-table ×1
delphi-7 ×1
firebird2.5 ×1
indexing ×1
node.js ×1
service ×1
sql-server ×1
sqlite ×1
windows ×1