【发布时间】:2011-09-17 20:00:18
【问题描述】:
是否可以在其他 DBMS 中进行 SQL's CLR 组装?
或者DBMS Oracle, MySQL, PostgreSQL 中的 CLR 模拟...
【问题讨论】:
标签: mysql sql-server oracle postgresql sqlclr
是否可以在其他 DBMS 中进行 SQL's CLR 组装?
或者DBMS Oracle, MySQL, PostgreSQL 中的 CLR 模拟...
【问题讨论】:
标签: mysql sql-server oracle postgresql sqlclr
您不能直接在 Oracle 数据库中使用您在 SQL Server 数据库中注册的 CLR 类型(我猜 MySql 和其他数据库也是如此)。每个支持用户定义的数据类型并具有 .NET 提供程序的数据库通常都有一个框架来表示 CLR 世界中的 UDT。
例如,在 Oracle 中,您需要实现 'Oracle.DataAcess.Types.IOracleCustomType' 接口才能在 UDT 和 CLR 类型之间进行转换,并实现 'IOracleCustomTypeFactory' 来创建 custorm 类型的实例。您可以找到更多信息here。
【讨论】:
您不能只让 DBMS 使用 .NET CLR,但如果 DBMS 支持通过标准入口点调用任意代码的方法,那么您可以创建一个桥接器。例如,Oracle 有 the OCI (Oracle Call Interface),您可以使用它来桥接到 .NET 程序集。
【讨论】: