Delphi DLL
library SqlDll;
uses
System.SysUtils,
System.Classes;
{$R *.res}
function SqlQuery(_a, _b: Integer): Integer; stdcall; export;
begin
Result := _a + _b;
end;
exports
SqlQuery;
begin
end.
SQL Server
DROP ASSEMBLY CalculateDelphi
GO
CREATE ASSEMBLY CalculateDelphi
FROM 'C:\SqlDLL\SqlDll.dll'
WITH PERMISSION_SET = unsafe
GO
错误
Msg 6544,Level 16,State 1,Line 153为程序集'CalculateDelphi'创建程序集失败,因为程序集'CalculateDelphi'格式错误或不是纯.NET程序集。无法验证的PE标头/本机存根。
错误消息是自解释的:
'CalculateDelphi'失败,因为程序集'CalculateDelphi'格式错误或不是纯.NET程序集。
SQL Server需要一个.NET程序集,但你没有给它一个.NET程序集,而是给它一个简单的C风格的DLL,而SQL Server不像其他数据库那样支持导入。
Delphi不再能够生成.NET程序集了,Delphi.NET在Delphi 8之后被删除时,它失去了这种能力。
对于您要做的事情,您必须使用支持.NET的编译器,如Visual Studio,RemObjects Oxygene等,以便: