0

我的目标:

提取嵌入在 SQL Server 2008 数据库中的 SQL Server CLR 程序集并将其移植到 MySQL 5.5 数据库支持的等效程序。

我有一个 SQL Server 2008 数据库,我正在尝试将其移植到 MySQL 5.5。该数据库是基于 ASP.NET 的网站的一部分,该网站需要使用 MySQL 而不是 SQL Server(请不要问为什么?)

该数据库还使用了自定义构建的 SQL Server (CLR?) 程序集,当我使用 SQL Server Management Studio 访问数据库的以下部分时,我可以看到该程序集。

[Database Name] > Programmability > Assemblies >Namespace.MyCustomSQLServerAssembly

我无权访问该程序集的源代码,因为以前的编码器没有将它作为源代码包的一部分提供,但我相信如果我可以提取它,我是否可以反编译程序集。

我已经成功移植了所有存储过程和表,但是我不知道如何移植这个程序集。也许我没有使用正确的关键字,但我找不到任何关于“如何使用 Google 将此程序集移植到 MySQL”的教程。我知道这可能不是直接可能的。

在这一点上,我有以下问题:

  1. 如何从 SQL Server 数据库中提取此程序集?

  2. 这个程序集(如果成功提取)可以反编译为代码(SQL 或 C#)吗?

  3. 我可以创建的 MySQL Server 中是否有任何等价物可以替代我想从 SQL Server 数据库中提取并随后移植的这个程序集(假设它只定义自定义数据类型)?

笔记:

这些程序集中的类型似乎在同一数据库中的用户定义函数中被引用。

上面的一些问题可能听起来有点菜鸟,但在此之前我还没有编写任何 CLR 程序集,可以作为 SQL Server 数据库的一部分在 SQL Server 中加载和运行。

这是将数据库移植到 mysql 的最后一步。所有存储过程和函数已经被移植,但我不知道如何提取/移植这个程序集?

4

1 回答 1

0

我使用 Stackoverflow.com 上的这个问题从数据库中提取了 SQL Server 库。

从 SQL Server 2005 中提取 .NET 程序集

并使用 Red Gate .NET Reflector 反编译该库。现在我想我可以在 MySQL 中创建自定义函数或存储过程来模仿库中定义的相同函数。

于 2013-02-24T18:28:22.290 回答