0

私の目標:

SQL Server 2008 データベースに埋め込まれた SQL Server CLR アセンブリを抽出し、MySQL 5.5 データベースでサポートされている同等のアセンブリに移植します。

MySQL 5.5 に移植しようとしている SQL Server 2008 データベースがあります。データベースは、SQL Server の代わりに MySQL を使用する必要がある ASP.NET ベースの Web サイトの一部です (理由は聞かないでください)。

このデータベースは、SQL Server Management Studio を使用してデータベースの次のセクションにアクセスすると表示されるカスタム ビルドの SQL Server (CLR?) アセンブリも使用します。

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

以前のコーダーがソース コード パッケージの一部としてアセンブリを提供しなかったため、そのアセンブリのソース コードにアクセスすることはできませんが、抽出できればアセンブリを逆コンパイルできると思います。

すべてのストアド プロシージャとテーブルを正常に移植しましたが、このアセンブリを移植する方法がわかりません。適切なキーワードを使用していない可能性がありますが、Google を使用して「このアセンブリを MySQL に移植する方法」に関するチュートリアルが見つかりませんでした。直接的には不可能な場合があることを理解しています。

この時点で、次の質問があります。

  1. このアセンブリを SQL Server データベースから抽出する方法は?

  2. このアセンブリ (正常に抽出された場合) をコード (SQL または C#) に逆コンパイルできますか?

  3. SQL Serverデータベースから抽出し、その後移植したいこのアセンブリに置き換えることができる、作成できるMySQLサーバーに相当するものはありますか(カスタムデータ型のみを定義している場合)?

ノート:

これらのアセンブリの型は、同じデータベース内のユーザー定義関数で参照されているようです。

上記の質問のいくつかは少し初心者に聞こえるかもしれませんが、SQL Server データベースの一部として SQL Server にロードして実行できるようになる前に、CLR アセンブリを作成したことがありません。

これは、データベースを mysql に移植する最後のステップです。すべてのストアド プロシージャと関数は既に移植されていますが、このアセンブリを抽出/移植する方法がわかりません。

4

1 に答える 1

0

Stackoverflow.com でこの質問を使用して、データベースから SQL Server ライブラリを抽出しました。

SQL Server 2005 からの .NET アセンブリの抽出

Red Gate .NET Reflector を使用してライブラリを逆コンパイルしました。これで、MySQL でカスタム関数またはストアド プロシージャを作成して、ライブラリで定義された同じ関数を模倣できると思います。

于 2013-02-24T18:28:22.290 に答える