2010-03-12 1 views
0

У нас есть сложная архитектура с большой логикой в ​​неуправляемом коде, который нуждается в доступе к базе данных.Является ли Classic ADO еще жизнеспособным для смешанного управляемого/неуправляемого приложения?

В настоящее время это через драйверы ODBC и классы MFC, и мы рассматриваем проблемы миграции нашего уровня абстракции для использования ADO или ADO.Net. В последнем случае нам пришлось бы подталкивать логику базы данных обратно в .Net-уровень. Я пытаюсь решить, может ли боль при вызове базы данных через обратные вызовы .Net компенсироваться улучшениями в ADO.Net.

Wikipedia comparison был интересен, хотя я не уверен, что верю во все точки в таблице сравнения (например: ADO.Net всегда использует XML для передачи данных?).

A 2005 comparison показывает, что ADO.Net работает значительно быстрее.

Microsoft guide to ADO.Net for ADO programmers предлагает нам многое получить от перехода к ADO.Net, особенно то, как данные доступны в родных (.Net) типах, а не только через OLEAutomation's Variant.

ответ

1
eg: does ADO.Net always use XML to pass data? 

Номер Похоже, идиот информации в википедии тогда.

2 варианта. Во-первых, я бы ДЕЙСТВИТЕЛЬНО избавился от ODBC - и, по крайней мере, переместил драйвер OleDb. Если возможно (скажите - у меня есть приложение .NET, использующее драйвер ODBC для вызова JDBC-ddriver для вызова сервера сторонних приложений).

Теперь вы можете идти в обе стороны - ADO с обеих сторон, управлять ADO.NET и выходить из уровня NET - но это действительно не решение программиста, это архитектурная вещь, которая должна быть замечена в главном контексте , Возможно, я поеду на .NET-слой, возможно, с одним слоем экспозиции OData и попытаюсь использовать это из неуправляемого слоя.