devart dotconnect и BLToolkit
От: Аноним  
Дата: 15.07.12 05:20
Оценка:
Кто-нибудь соединял DevArt с BLToolkit? Хотелось бы понять как заставить BLToolkit работать с DevArt, был бы благодарен за подробный ответ. поиском находил: http://www.sql.ru/forum/actualthread.aspx?tid=942729, но там никто так и не ответил.

25.11.12 01:51: Перенесено модератором из '.NET' — TK
Re: devart dotconnect и BLToolkit
От: Ummon Россия  
Дата: 16.07.12 03:54
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Кто-нибудь соединял DevArt с BLToolkit? Хотелось бы понять как заставить BLToolkit работать с DevArt, был бы благодарен за подробный ответ. поиском находил: http://www.sql.ru/forum/actualthread.aspx?tid=942729, но там никто так и не ответил.


Какая субд?
Доводилось страхивать блт+деварт с ораклом. С постгресом пока используем Npgsql
Re: devart dotconnect и BLToolkit
От: IT Россия linq2db.com
Дата: 16.07.12 04:03
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Кто-нибудь соединял DevArt с BLToolkit? Хотелось бы понять как заставить BLToolkit работать с DevArt, был бы благодарен за подробный ответ. поиском находил: http://www.sql.ru/forum/actualthread.aspx?tid=942729, но там никто так и не ответил.


https://nuget.org/packages?q=devart — вот это у них бесплатно? Если да, то добавить поддержку фигня вопрос.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: devart dotconnect и BLToolkit
От: Ummon Россия  
Дата: 16.07.12 06:47
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Аноним, Вы писали:


А>>Кто-нибудь соединял DevArt с BLToolkit? Хотелось бы понять как заставить BLToolkit работать с DevArt, был бы благодарен за подробный ответ. поиском находил: http://www.sql.ru/forum/actualthread.aspx?tid=942729, но там никто так и не ответил.


IT>https://nuget.org/packages?q=devart — вот это у них бесплатно? Если да, то добавить поддержку фигня вопрос.


Помечена как "Express", на их сайте эта версия распространяется бесплатно.
Другое дело, что по крайней мере под оракл эксперс версия бесполезна, с моей точки зрения, т.к. не имеет главной фичи это библиотеки — прямого подключения к ораклу, минуя oracle instant client.
Re[3]: devart dotconnect и BLToolkit
От: IT Россия linq2db.com
Дата: 16.07.12 12:14
Оценка:
Здравствуйте, Ummon, Вы писали:

U>Другое дело, что по крайней мере под оракл эксперс версия бесполезна, с моей точки зрения, т.к. не имеет главной фичи это библиотеки — прямого подключения к ораклу, минуя oracle instant client.


Ну нет, так нет.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: devart dotconnect и BLToolkit
От: Аноним  
Дата: 16.07.12 13:47
Оценка:
Здравствуйте, Ummon, Вы писали:
U>Какая субд?
U>Доводилось страхивать блт+деварт с ораклом. С постгресом пока используем Npgsql

Интересует devart dotconnect for MySQL
Re[3]: devart dotconnect и BLToolkit
От: Ummon Россия  
Дата: 17.07.12 01:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Интересует devart dotconnect for MySQL


Именно с MySQL ничем помочь не смогу, но в общем случае необходимо лишь следующее:
1. Сделать своего наследника от BLToolkit.Data.DataProvider.DataProviderBase, переопределив там несколько методов/свойств, чтобы они возвращали типы той библиотеки, которую подключаем.
2. Зарегистрировать в блт свой провайдер:
var p = new DevartDataProvider();
DbManager.AddDataProvider("configurationName", p);
Re[4]: devart dotconnect и BLToolkit
От: Аноним  
Дата: 18.07.12 16:04
Оценка: :))
Здесь вроде создатель BLToolkit появляется, может быть он добавит поддержку devart.
Re[4]: devart dotconnect и BLToolkit
От: Аноним  
Дата: 20.07.12 14:56
Оценка:
Здравствуйте, Ummon, Вы писали:

U>Именно с MySQL ничем помочь не смогу, но в общем случае необходимо лишь следующее:

U>1. Сделать своего наследника от BLToolkit.Data.DataProvider.DataProviderBase, переопределив там несколько методов/свойств, чтобы они возвращали типы той библиотеки, которую подключаем.
U>2. Зарегистрировать в блт свой провайдер:
U>
U>var p = new DevartDataProvider();
U>DbManager.AddDataProvider("configurationName", p);
U>


не могли бы вы выложить примеры.
Re[5]: devart dotconnect и BLToolkit
От: Ummon Россия  
Дата: 21.07.12 04:03
Оценка:
Здравствуйте, Аноним, Вы писали:

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


U>>Именно с MySQL ничем помочь не смогу, но в общем случае необходимо лишь следующее:

U>>1. Сделать своего наследника от BLToolkit.Data.DataProvider.DataProviderBase, переопределив там несколько методов/свойств, чтобы они возвращали типы той библиотеки, которую подключаем.
U>>2. Зарегистрировать в блт свой провайдер:
U>>
U>>var p = new DevartDataProvider();
U>>DbManager.AddDataProvider("configurationName", p);
U>>


А>не могли бы вы выложить примеры.


1. Сделать наследника от DataProviderBase:
  Скрытый текст
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();
    }
}

Вместо всех OracleConnection/OracleCommand/etc должны быть типы из девартовской библиотеки, которую подключаешь. За исключением OracleSqlProvider — это блт-класс; в неймспейсе BLToolkit.Data.Sql.SqlProvider можно найти под MySql и заменить.

2. Зарегистрировать провайдер и коннекшен-стринг где-нить на старте приложения:
var p = new DevartDataProvider();
DbManager.AddDataProvider("configurationName", p);
DbManager.AddConnectionString("configurationName", [коннекшен-стринг]);


3. Использовать:
using(var db = new DbManager("configurationName")) // если был зарегистрирован только один провайдер, можно даже не указывать имя конфигурации
{
}
Re[4]: devart dotconnect и BLToolkit
От: Andy77 Ниоткуда  
Дата: 17.10.12 18:51
Оценка:
Здравствуйте, IT, Вы писали:

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


U>>Другое дело, что по крайней мере под оракл эксперс версия бесполезна, с моей точки зрения, т.к. не имеет главной фичи это библиотеки — прямого подключения к ораклу, минуя oracle instant client.


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


Игорь, так ты добавишь поддержку, если у тебя будет лицензия на их библиотеку? Я написал им на форум — http://forums.devart.com/viewtopic.php?f=1&t=25049, давай просто предложим дать тебе лицензию
Re: devart dotconnect и BLToolkit
От: Аноним  
Дата: 05.11.12 19:01
Оценка:
Скажите как продвигается и планируется ли добавка поддержки Деварта, тоже интересная мне тема?
Re[2]: devart dotconnect и BLToolkit
От: IT Россия linq2db.com
Дата: 05.11.12 20:38
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Скажите как продвигается и планируется ли добавка поддержки Деварта, тоже интересная мне тема?


Пока никак. С их триальными версиями связываться нет смысла. Лицензию покупать не по-пацански.
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: devart dotconnect и BLToolkit
От: Аноним  
Дата: 10.11.12 15:17
Оценка:
IT>Пока никак. С их триальными версиями связываться нет смысла. Лицензию покупать не по-пацански.
Могу предоставить предпоследнии версии, которые были слиты, или вам нужны вместе с исходниками?
Re[4]: devart dotconnect и BLToolkit
От: IT Россия linq2db.com
Дата: 10.11.12 17:25
Оценка:
Здравствуйте, Аноним, Вы писали:

IT>>Пока никак. С их триальными версиями связываться нет смысла. Лицензию покупать не по-пацански.

А>Могу предоставить предпоследнии версии, которые были слиты, или вам нужны вместе с исходниками?

Исходники не нужны. Нужны рабочие компоненты с бесплатной лицензией. Кстати, я вижу в NuGet dotConnect Express for PostgreSQL, MySQL, Oracle и SQLite. Это можно использовать?
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: devart dotconnect и BLToolkit
От: Аноним  
Дата: 17.11.12 08:48
Оценка:
IT>Исходники не нужны. Нужны рабочие компоненты с бесплатной лицензией. Кстати, я вижу в NuGet dotConnect Express for PostgreSQL, MySQL, Oracle и SQLite. Это можно использовать?

Их можно использовать, сравнение возможностей: http://www.devart.com/dotconnect/oracle/editions.html
Re[6]: devart dotconnect и BLToolkit
От: Аноним  
Дата: 23.11.12 16:36
Оценка:
Есть ли какие подвижки?
Re[7]: devart dotconnect и BLToolkit
От: Gremlin2 http://www.fb2library.net/
Дата: 23.11.12 16:52
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть ли какие подвижки?

А, что так тяжело самому сделать? Для какой СУБД надо? Я для MySQL делал, заняло ровно 5 минут.
Re[8]: devart dotconnect и BLToolkit
От: Аноним  
Дата: 24.11.12 07:55
Оценка:
G>А, что так тяжело самому сделать? Для какой СУБД надо? Я для MySQL делал, заняло ровно 5 минут.
Был бы рад наглядному примеру
Re[9]: devart dotconnect и BLToolkit
От: Gremlin2 http://www.fb2library.net/
Дата: 24.11.12 08:16
Оценка: 70 (1)
Здравствуйте, Аноним, Вы писали:

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

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

Имена классов в Devart.Data.MySql и в MySql.Data.MySqlClient совпадают, поэтому рецепт для MySQL очень прост:

1. Копируем файл MySqlDataProvider.cs к себе в проект
2. Подключаем к проекту Devart.Data и Devart.Data.MySql
3. В копии файла MySqlDataProvider.cs заменяем using MySql.Data.MySqlClient на using Devart.Data.MySql
4. В статическом конструкторе класса заменяем вызов метода ConfigureOldStyle на ConfigureNewStyle
5. Всё

Пример использования:
            MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
            builder.Host = arguments.Host;
            builder.Port = arguments.Port;
            builder.Database = database;
            builder.Charset = "utf8";
            builder.UserId = arguments.User;
            builder.Password = arguments.Password;
            builder.PersistSecurityInfo = true;
            builder.DefaultCommandTimeout = 0;

            using (DbManager db = new DbManager(new MySqlDataProvider(), builder.ToString()))
            {
            }
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...
Пока на собственное сообщение не было ответов, его можно удалить.