Как извлечь и перенести встроенную сборку CLR базы данных SQL Server 2008 в эквивалент базы данных MySQL 5.5?

Моя цель:

Извлечение и перенос сборки SQL Server CLR, встроенной в базу данных SQL Server 2008, в эквивалент, поддерживаемый базой данных 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

У меня НЕТ доступа к исходному коду для этой сборки, поскольку предыдущий кодировщик не предоставил его как часть пакета исходного кода, но я считаю, что если бы я мог декомпилировать сборку, если бы я мог ее извлечь.

Я успешно перенес все хранимые процедуры и таблицы, но не знаю, как перенести эту сборку. Возможно, я использую неправильные ключевые слова, но я не смог найти никакого руководства о том, «как перенести эту сборку на MySQL» с помощью Google. Я понимаю, что это может быть невозможно.

На данный момент у меня есть следующие вопросы:

  1. Как извлечь эту сборку из базы данных SQL Server?

  2. Можно ли декомпилировать эту сборку (в случае успешного извлечения) в код (SQL или C #)?

  3. Есть ли какой-либо эквивалент в MySQL Server, который я могу создать, который мог бы предоставить замену этой сборке, которую я хочу извлечь из базы данных SQL Server и последующего порта (при условии, что он определяет только пользовательские типы данных)?

Примечание:

Типы из этих сборок, по-видимому, упоминаются в пользовательских функциях в той же базе данных.

Некоторые из приведенных выше вопросов могут показаться немного глупыми, но я не писал ни одной сборки CLR, прежде чем ее можно будет загрузить и запустить в SQL Server как часть базы данных SQL Server.

Это последний шаг в переносе базы данных на mysql. Все хранимые процедуры и функции уже перенесены, но я не знаю, как извлечь / перенести эту сборку?


person Steve Johnson    schedule 24.02.2013    source источник


Ответы (1)


Я извлек библиотеку SQL Server из базы данных, используя этот вопрос на Stackoverflow.com.

Извлечение сборки .NET из SQL Server 2005

и использовал Red Gate .NET Reflector для декомпиляции библиотеки. Теперь я думаю, что могу создавать собственные функции или хранимые процедуры в MySQL, чтобы имитировать те же функции, которые определены в библиотеке.

person Steve Johnson    schedule 24.02.2013