Write Udf For Interbase/Firebird

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

DECLARE EXTERNAL FUNCTION IBPASSWD
CSTRING(8) CHARACTER SET WIN1252
RETURNS CSTRING(16) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBPasswd' MODULE_NAME 'pibudf.dll';



DECLARE EXTERNAL FUNCTION IBENCODEBASE64
CSTRING(256) CHARACTER SET WIN1252
RETURNS CSTRING(384) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBEncodeBase64' MODULE_NAME 'pibudf.dll';


DECLARE EXTERNAL FUNCTION IBDECODEBASE64
CSTRING(384) CHARACTER SET WIN1252
RETURNS CSTRING(256) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBDecodeBase64' MODULE_NAME 'pibudf.dll';


DECLARE EXTERNAL FUNCTION IBDES56
CSTRING(16) CHARACTER SET WIN1252,
CSTRING(8) CHARACTER SET WIN1252,SMALLINT
RETURNS CSTRING(16) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBdes56' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMD5
CSTRING(32176) CHARACTER SET WIN1252
RETURNS CSTRING(32) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBmd5' MODULE_NAME 'pibudf.dll';


DECLARE EXTERNAL FUNCTION IBMD5FILE
CSTRING(255) CHARACTER SET WIN1252
RETURNS CSTRING(32) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBmd5File' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBINTTOBIT
INTEGER,SMALLINT
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'IBIntToBit' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBBITTOINT
SMALLINT
RETURNS INTEGER BY VALUE
ENTRY_POINT 'IBBitToInt' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBINTTOBITQTY
INTEGER
RETURNS  SMALLINT BY VALUE
ENTRY_POINT 'IBIntToBitQty' MODULE_NAME 'pibudf.dll';


DECLARE EXTERNAL FUNCTION IBSTRDATEIDE
TIMESTAMP,
INTEGER,SMALLINT /*'yyyymmdd-'+3*/
RETURNS CSTRING(12) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrDateIDE' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSDATEIDTOIDE
CSTRING(12) CHARACTER SET WIN1252,SMALLINT
RETURNS INTEGER BY VALUE
ENTRY_POINT 'IBStrDateIDToIDE' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRYEARIDE
TIMESTAMP,
INTEGER,SMALLINT /*'yyyy-'+3*/
RETURNS CSTRING(8) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrYearIDE' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSYEARIDTOIDE
CSTRING(8) CHARACTER SET WIN1252,SMALLINT
RETURNS INTEGER BY VALUE
ENTRY_POINT 'IBStrYearIDToIDE' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRINTSTR
CSTRING(3) CHARACTER SET WIN1252,INTEGER,SMALLINT
RETURNS CSTRING(6) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrIntStr' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRINT
CSTRING(6) CHARACTER SET WIN1252,SMALLINT,SMALLINT
RETURNS INTEGER BY VALUE
ENTRY_POINT 'IBStrInt' MODULE_NAME 'pibudf.dll';
                         
DECLARE EXTERNAL FUNCTION IBSQUADNAME
TIMESTAMP,
SMALLINT,SMALLINT
RETURNS CSTRING(1) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBsquadName' MODULE_NAME 'pibudf.dll';



/*Date*******************************************/

DECLARE EXTERNAL FUNCTION IBYEARTOINT
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'IBYearToInt' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBYEARDAYTOINT
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'IBYearDayToInt' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMONTHDAYTOINT
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'IBMonthDayToInt' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMONTHTOINT
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'IBMonthToInt' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMONTHBETWEENTOINT
TIMESTAMP, TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'IBMonthBetweenToInt' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBDAYBETWEENTOINT
TIMESTAMP, TIMESTAMP
RETURNS INTEGER BY VALUE
ENTRY_POINT 'IBDayBetweenToInt' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMONTHLASTDDAYTOINT
TIMESTAMP
RETURNS SMALLINT BY VALUE
ENTRY_POINT 'IBMonthLastDayToInt' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBDAYINC
TIMESTAMP,SMALLINT
RETURNS DATE
ENTRY_POINT 'IBDayInc' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBDAYDEC
TIMESTAMP,SMALLINT
RETURNS DATE
ENTRY_POINT 'IBDayDec' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMONTHINC
TIMESTAMP,SMALLINT
RETURNS DATE
ENTRY_POINT 'IBMonthInc' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMONTHDEC
TIMESTAMP,SMALLINT
RETURNS DATE
ENTRY_POINT 'IBMonthDec' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMONTHFIRSTTDAY
TIMESTAMP
RETURNS DATE
ENTRY_POINT 'IBMonthFirstDay' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBMONTHLASTDAY
TIMESTAMP
RETURNS DATE
ENTRY_POINT 'IBMonthLastDay' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBDAYTIMEBETWEENTOSTR
TIMESTAMP, TIMESTAMP
RETURNS CSTRING(16) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBDayTimeBetweenToStr' MODULE_NAME 'pibudf.dll';



/*String*******************************************/

DECLARE EXTERNAL FUNCTION IBSTRUPPER
CSTRING(32176) CHARACTER SET WIN1252
RETURNS CSTRING(32176) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrUpper' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRLOWER
CSTRING(32176) CHARACTER SET WIN1252
RETURNS CSTRING(32176) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrLower' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRLEN
CSTRING(32176) CHARACTER SET WIN1252
RETURNS INTEGER BY VALUE
ENTRY_POINT 'IBStrLen' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRPOS
CSTRING(32176) CHARACTER SET WIN1252,
CSTRING(254) CHARACTER SET WIN1252
RETURNS INTEGER BY VALUE
ENTRY_POINT 'IBStrPos' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRCOPY
CSTRING(32176) CHARACTER SET WIN1252,SMALLINT,SMALLINT
RETURNS CSTRING(254) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrCopy' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRDELETE
CSTRING(32176) CHARACTER SET WIN1252,SMALLINT,SMALLINT
RETURNS CSTRING(254) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrDelete' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSTRINSERT
CSTRING(32176) CHARACTER SET WIN1252,
SMALLINT,
CSTRING(254) CHARACTER SET WIN1252
RETURNS CSTRING(510) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrInsert' MODULE_NAME 'pibudf.dll';


DECLARE EXTERNAL FUNCTION IBSTRREPLACE
CSTRING(32176) CHARACTER SET WIN1252,
CSTRING(1) CHARACTER SET WIN1252,
CSTRING(1) CHARACTER SET WIN1252
RETURNS CSTRING(32176) CHARACTER SET WIN1252 FREE_IT
ENTRY_POINT 'IBStrReplace' MODULE_NAME 'pibudf.dll';

/*BLOB*******************************************/

DECLARE EXTERNAL FUNCTION IBGETBLOBSEGMENTCOUNT
  BLOB
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'IBGetBlobSegmentCount' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBGETBLOBMAXSEGMENTLENGTH
  BLOB
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'IBGetBlobMaxSegmentLength' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBGETBLOBSIZE
  BLOB
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'IBGetBlobSize' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBGETBLOBSTRCOPY
  BLOB,INTEGER,INTEGER
  RETURNS CSTRING(32760) CHARACTER SET WIN1252 FREE_IT
  ENTRY_POINT 'IBGetBlobStrCopy' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBGETBLOBSTRLINE
  BLOB,INTEGER
  RETURNS CSTRING(32760) CHARACTER SET WIN1252 FREE_IT
  ENTRY_POINT 'IBGetBlobStrLine' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBGETBLOBSEARCH
  BLOB,CSTRING(254) CHARACTER SET WIN1252
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'IBGetBlobSearch' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSETBLOBSTRCOPY
  CSTRING(32760) CHARACTER SET WIN1252,
  BLOB
  RETURNS PARAMETER 2
  ENTRY_POINT 'IBSetBlobStrCopy' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBGETBLOBLOADFILE
  CSTRING(254) CHARACTER SET WIN1252,
  BLOB
  RETURNS PARAMETER 2
  ENTRY_POINT 'IBGetBlobLoadFile' MODULE_NAME 'pibudf.dll';

DECLARE EXTERNAL FUNCTION IBSETBLOBSAVEFILE
  BLOB,
  CSTRING(254) CHARACTER SET WIN1252 
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'IBSetBlobSaveFile' MODULE_NAME 'pibudf.dll'; 



/*MATHS*******************************************/

DECLARE EXTERNAL FUNCTION IBTRUNC
  DOUBLE PRECISION 
  RETURNS INTEGER BY VALUE
  ENTRY_POINT 'IbTrunc' MODULE_NAME 'pibudf.dll'; 

DECLARE EXTERNAL FUNCTION IBFRAC
  DOUBLE PRECISION
  RETURNS DOUBLE PRECISION BY VALUE
  ENTRY_POINT 'IbFrac' MODULE_NAME 'pibudf.dll'; 

Firebird嵌入式SQL Server编写UDF 我们将描述如何创建您自己的本地Firebird扩展,并展示一些在托管代码应用程序中使用它的方法 立即下载

相关推荐

C#连接Firebird并执行包含UDF的存储过程

本实例在VS2010中测试通过. Firbird内嵌函数极少,本示例介绍了如何利用ibexpert创建使用UDF的存储过程,并在C#(winform)中调用该存储过程. 打包部署时只需如下: 1.GDS32.DLL (1.5的版本) 2.FirebirdSql.Data.FirebirdClient.dll 3.ib_util.dll 4.udf文件夹(rfunc.dll) 5.数据库文件 *.FDB

firebird外置函数

外置函数:firebird内置函数不多,到2.5为止也不支持自定义函数,但firebird最强大也最迷人的是能很容易的支持外置函数标准函数.你可以找到很多现成的firebird的外置函数.也可以用vc delph gcc很容易的编写外置函数. 安装文件自带的外置函数:在目录/Udf下,有fbudf.dll ib_udf2.dll以及相应的sql外置函数注册命令,只需简单运行相应sql文件

mochizuki的专栏 2010

Firebird-2.5.2.26539-0_Win32_embed.zip

Firebird-2.5.2.26539-0_Win32_embed.zip

vb6链接firebird样例

使用OdbcFb(FireBird odbc dynamic link library)连接firebird数据库,由于odbcfb仅一个dll,配合上firebird内嵌的dll,很方便打包。

STM32H750VBTX Altium Designer sch/pcb封装库

从官方搬过来的,想偷懒,百度搜索说这里可以下载,结果还要积分,积分还那么贵,就这么点东西,值这个钱么,居然还有人评论说下载下来里面是空的。本来想不收积分了,但是后来想想赚点没准还有用,就收点吧

Firebird嵌入版本的使用方法

Firebird嵌入版本的使用方法   http://www.firebird.net.cn/forum_view.asp?forum_id=1&view_id=34  [原创]Firebird嵌入版本的使用方法Firebird的嵌入版本是一个非常酷的版本,它包含了SQL数据库的所有功能,但是却不用安装,不用专门启动服务与后台,实为单机软件开发首选平台!    通常,人们也叫它“内嵌服务器

luojifeng16的专栏 1267

ODBC_2.0.0-Win32-Firebird

通过ODBC访问Win32 Firebird数据库。

Firebird_ODBC driver

Firebird_ODBC driver 程序,用于连接数据库。Firebird_ODBC driver 程序,用于连接数据库。

Firebird数据库Firebird.dll供VB6使用:C++dll源码和VB6 Demo源码演示

仅一个Win32 dll (非COM, 可直接使用), 让VB6拥有强大而不复杂的Firebird数据库,包含C++dll源码和VB6 Demo源码演示 firebird是一个全功能的,强大高效的,轻量级,免维护的数据库。它很容易让您从单用户,单数据库升级到企业级的应用,火鸟是提供许多 ANSI SQL 标准功能关系数据库,提供优秀的并发性、 高性能和对存储的过程和触发器的功能强大的语言支持。 firebird是一个十分小的开源数据库,可作为像Access一样使用的文件型数据库,单用户连接;也能够以服务方式启动,支持多用户访问

interbase7应用开发指南

interbase7数据库应用开发指南 interbase7数据库应用开发指南

火鸟数据库 使用的odbc安装包

火鸟数据库安装odbc 方便程序直接调用, 可直接安装。

FireBird编程从入门到精通

FireBird--开发中小型C/S数据库系统和桌面数据库系统的利器

vb.net连接火鸟数据库封装方法和dll文件

VB.NET连接火鸟数据库Firebird

java读取firebird数据库例子+jar包

java读取firebird数据库例子 jaybird-2.1.6.jar jaybird-full-2.1.6.jar jaybird-pool-2.1.6.jar

JDBC连接firebird数据库单数汉字出现乱码双数汉字正常显示

fb默认采用none字符集建库,这其实不是任何字符集,它对字符串当二进制流(数组)处理。由于字符编码原因,有时我们想查找 “%王%” 也许结果中出现一些并没有 王 的数据(排序也是一样道理,也许数据次序有些怪异)。另外,在字符存储时,数据库也不对字符串进行任何校验(我们知道,字符集的校验是一种正确性检查),这回导致存入的字符串可以包括任何编码(似乎满足灵活性需要),但问题是你取出字符串时却没法知道...

cxws110的博客 672

firebird 的存储过程(procedure)和外置函数(EXTERNAL FUNCTION)

存储过程(Procedure):大体分为两类 处理单条记录和运算并返回单条数据我称为:"单处理过程". 列: SET TERM ^ ; CREATE OR ALTER PROCEDURE DBST ( s varchar(1024) not null) returns ( rs varchar(2048)) as begin rs=s||s...

一片荷叶的专栏 1333

数据库选型和FireBird的使用

<br />最近因为要做一个小的 项目,开发工具为Delphi,数据库选型进行了一些比较,最终决定采用FireBird数据库,各种数据库的优缺点分析如下:<br /><br />一、Firbird<br /><br />优点<br />1、Firebird是开 源免费的数据库,且诞生很多年了,比较稳定。<br />2、支持单机嵌入式开发, 单机版支持存储过程和触发器。<br />3、单机版和服务器版数据 库文件格式相同,升级至网络版简单。<br />4、跨平台,支持 window、linux<br

无名剑 1923
上一篇: how detect Interbase/FireBird Running
viocal
博客等级 码龄23年 2粉丝 4原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值