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()))
            {
            }
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.