Re[9]: devart dotconnect и BLToolkit
От: Andy77 Ниоткуда  
Дата: 29.11.12 21:11
Оценка: 66 (1)
Здравствуйте, Аноним, Вы писали:

G>>А, что так тяжело самому сделать? Для какой СУБД надо? Я для MySQL делал, заняло ровно 5 минут.

А>Был бы рад наглядному примеру

Да провайдеров-то легко написать, просто хотелось бы, чтобы они существовали в стандартной поставке, тогда есть какая-то уверенность, что они стабильно работают, юнит-тесты выполняются и т.д.

На всякий случай, вот мой код для Оракла —

  "DevartOracleDataProvider.cs"
using System;
using System.Data;
using System.Data.Common;
using BLToolkit.Data.Sql.SqlProvider;
using Devart.Data.Oracle;

namespace BLToolkit.Data.DataProvider
{
   public class DevartDataProvider : DataProviderBase
   {
      public override Type ConnectionType
      {
         get { return typeof(OracleConnection); }
      }

      public override string Name
      {
         get { return "Devart"; }
      }

      public override IDbConnection CreateConnectionObject()
      {
         return new OracleConnection();
      }

      public override DbDataAdapter CreateDataAdapterObject()
      {
         return new OracleDataAdapter();
      }

      public override bool DeriveParameters(IDbCommand command)
      {
         var oraCommand = command as OracleCommand;

         if (null != oraCommand)
         {
            try
            {
               OracleCommandBuilder.DeriveParameters(oraCommand);
            }
            catch (Exception ex)
            {
               // Make Oracle less laconic.
               //
               throw new DataException(string.Format("{0}\nCommandText: {1}", ex.Message, oraCommand.CommandText), ex);
            }

            return true;
         }

         return false;
      }

      public override ISqlProvider CreateSqlProvider()
      {
         return new OracleSqlProvider();
      }
   }
}
Re[5]: devart dotconnect и BLToolkit
От: Andy77 Ниоткуда  
Дата: 05.12.12 18:53
Оценка: 3 (1)
Здравствуйте, Andy77, Вы писали:

A>Игорь, так ты добавишь поддержку, если у тебя будет лицензия на их библиотеку? Я написал им на форум — http://forums.devart.com/viewtopic.php?f=1&t=25049, давай просто предложим дать тебе лицензию


Мой план сработал

We have sent an email to the BLToolkit support team with an offer to include the licensed version of dotConnect for Oracle Professional (free of charge) in their tool. There is no response from BLToolkit.

http://forums.devart.com/viewtopic.php?f=1&t=25049
Re[4]: devart dotconnect и BLToolkit
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 11.12.12 20:01
Оценка:
Здравствуйте, IT, Вы писали:

IT>Ну нет, так нет.


Игорь — тебе та письмо написали:

We have sent an email to the BLToolkit support team with an offer to include the licensed version of dotConnect for Oracle Professional (free of charge) in their tool. There is no response from BLToolkit.

http://forums.devart.com/viewtopic.php?f=1&t=25049
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
[КУ] оккупировала армия.
Re[5]: devart dotconnect и BLToolkit
От: IT Россия linq2db.com
Дата: 12.12.12 01:08
Оценка: 9 (1)
Здравствуйте, koandrew, Вы писали:

K>Игорь — тебе та письмо написали:


K>

We have sent an email to the BLToolkit support team with an offer to include the licensed version of dotConnect for Oracle Professional (free of charge) in their tool. There is no response from BLToolkit.

K>http://forums.devart.com/viewtopic.php?f=1&amp;t=25049

О, блин! Щас разберёмся.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: devart dotconnect и BLToolkit
От: Ummon Россия  
Дата: 16.01.13 06:54
Оценка:
Здравствуйте, Andy77, Вы писали:

A>Здравствуйте, Andy77, Вы писали:


A>>Игорь, так ты добавишь поддержку, если у тебя будет лицензия на их библиотеку? Я написал им на форум — http://forums.devart.com/viewtopic.php?f=1&amp;t=25049, давай просто предложим дать тебе лицензию


A>Мой план сработал


A>

A>We have sent an email to the BLToolkit support team with an offer to include the licensed version of dotConnect for Oracle Professional (free of charge) in their tool. There is no response from BLToolkit.

A>http://forums.devart.com/viewtopic.php?f=1&amp;t=25049

Подскажите, пожалуйста, сдвинулось ли что-то по этому вопросу?
Re[7]: devart dotconnect и BLToolkit
От: IT Россия linq2db.com
Дата: 16.01.13 17:32
Оценка:
Здравствуйте, Ummon, Вы писали:

U>Подскажите, пожалуйста, сдвинулось ли что-то по этому вопросу?


Если бы всё оформлялось на github, да ещё в виде пул-реквестов, то уже всё давно было бы сделано.
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: devart dotconnect и BLToolkit
От: IT Россия linq2db.com
Дата: 16.01.13 23:50
Оценка: 21 (2)
Здравствуйте, Ummon, Вы писали:

U>Подскажите, пожалуйста, сдвинулось ли что-то по этому вопросу?


Можно забирать.
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: devart dotconnect и BLToolkit
От: Wight Россия http://zyan.com.de
Дата: 11.03.13 11:53
Оценка:
IT>Можно забирать.

У Devart dotConnect есть прикольный монитор для SQL-запросов.
Правда, он работает только с платной версией провайдера, к сожалению:
http://www.devart.com/dbmonitor/

Я добавил в провайдер DevartOracleDataProvider свойство DbMonitorActive для включения мониторинга
и сделал отдельный csproj-файл для компиляции этого провайдера с полной версией dotConnect.
В экспресс-версии свойство DbMonitorActive тоже есть (для совместимости), но ничего не делает.
Сейчас pull request сооружу.
Re[9]: devart dotconnect и BLToolkit
От: Wight Россия http://zyan.com.de
Дата: 11.03.13 11:57
Оценка:
W>pull request

https://github.com/igor-tkachev/bltoolkit/pull/184
Re[9]: devart dotconnect и BLToolkit
От: IT Россия linq2db.com
Дата: 11.03.13 13:10
Оценка:
Здравствуйте, Wight, Вы писали:

W>и сделал отдельный csproj-файл для компиляции этого провайдера с полной версией dotConnect.


Зачем отдельный проект? Разве простая замена версии провайдера не работает?
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: devart dotconnect и BLToolkit
От: Wight Россия http://zyan.com.de
Дата: 11.03.13 13:28
Оценка:
IT>Зачем отдельный проект?

В Express-версии нет класса OracleMonitor.
Можно создать его экземпляр через рефлекшн, а можно обойтись директивами #if...#endif.
Я сделал через директивы, а в отдельном проекте определил символ DEVART_PRO.

>Разве простая замена версии провайдера не работает?


Тут есть еще одна тонкость. Платная версия требует внедрения ресурса лицензии, иначе не грузится.
Поэтому в отдельном проекте есть еще два файлика: licenses.licx и licenses.config.
Это не сами лицензии, а просто инструкции msbuild-у для генерации соответствующих ресурсов.

Работает это все при зарегистрированном на машине провайдере Devart, поэтому в солюшн я проект не добавлял.
А вообще можно и добавить, только не собирать по умолчанию.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.