OleDb connection string
От: nitr0  
Дата: 28.02.06 12:52
Оценка:
А можно примерчик subj'a ?
заранее 10x ...
Travian user
Re: OleDb connection string
От: IT Россия linq2db.com
Дата: 28.02.06 15:05
Оценка:
Здравствуйте, nitr0, Вы писали:

N>А можно примерчик subj'a ?


http://www.connectionstrings.com/
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: OleDb connection string
От: nitr0  
Дата: 28.02.06 15:19
Оценка:
Здравствуйте, IT, Вы писали:

IT>http://www.connectionstrings.com/


Хорошо — поставим вопрос по другому
в app.config я использую такую конструкцию :

<appSettings>
        <add key="ConnectionString" value = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=AdTime.mdb;User Id=admin;Password=;"/>
</appSettings>


и вот такой код :

using ( DbManager db = new DbManager() )
            {
                
                return db
                    .SetCommand( query )
                    .ExecuteList<ContractBase>();
            }


В итоге получаю сообщение —
ParseInternal
"keyword not supported: 'provider'"

Если я правильно понял — без указания параметров конструктор DbManager использует ключ "ConnectionString" из app.config, так ?
Travian user
Re[3]: OleDb connection string
От: IT Россия linq2db.com
Дата: 28.02.06 16:27
Оценка: 2 (1)
Здравствуйте, nitr0, Вы писали:

N>Хорошо — поставим вопрос по другому

N>в app.config я использую такую конструкцию :

По умолчанию подразумевается драйвер для SQL.
Для OleDb нужно внести такие изменения в код.

N>
N><appSettings>
N>        <add key="ConnectionString.OleDb" value = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=AdTime.mdb;User Id=admin;Password=;"/>
N></appSettings>
N>


N>
N>using ( DbManager db = new DbManager("OleDb") )
N>            {
                
N>                return db
N>                    .SetCommand( query )
N>                    .ExecuteList<ContractBase>();
N>            }
N>


N>Если я правильно понял — без указания параметров конструктор DbManager использует ключ "ConnectionString" из app.config, так ?


Правильно. Но драйвер БД по конекшин стринг не опознаётся и его нужно указывать явно.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: OleDb connection string
От: Аноним  
Дата: 04.03.06 11:45
Оценка:
Здравствуйте, IT, Вы писали:

IT>Правильно. Но драйвер БД по конекшин стринг не опознаётся и его нужно указывать явно.


<appSettings>
<add
key="ConnectionString.News.OleDb"
value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\dbfile.mdb" />
</appSettings>

using ( DbManager db = new DbManager("News.OleDb") )
{
return db
.SetCommand( query )
.ExecuteList<ContractBase>();
}
О нескольких ConfigurationString в .config файлах
От: IT Россия linq2db.com
Дата: 04.03.06 17:22
Оценка: 8 (2)
#Имя: FAQ.rfd.configurationstring
Здравствуйте, <Аноним>, Вы писали:

IT>>Правильно. Но драйвер БД по конекшин стринг не опознаётся и его нужно указывать явно.


Для BLToolkit нужно так:

<appSettings>
    <add
        key="ConnectionString.OleDb.News"
        value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\dbfile.mdb" />
</appSettings>

using ( DbManager db = new DbManager("OleDb", "News") )
{
    return db
        .SetCommand( query )
        .ExecuteList<ContractBase>();
}
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re: О нескольких ConfigurationString в .config файлах
От: _FRED_ Черногория
Дата: 17.11.06 14:15
Оценка:
Здравствуйте, IT, Вы писали:

IT>>>Правильно. Но драйвер БД по конекшин стринг не опознаётся и его нужно указывать явно.

IT>Для BLToolkit нужно так:
IT><appSettings>
IT>    <add
IT>        key="ConnectionString.OleDb.News"
IT>        value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\dbfile.mdb" />
IT></appSettings>


Блин, а я понять не могу эту логику: в документации к свойству DbManager.ConfigurationString сказано:

The configuration string may have a postfix used to define a data provider.

а в коде провайдер добовляется в configurationString перед именем строки соединения
Скорее всего в доке ошибка. я её исправлю на prefix.

Ещё в доке имена провайдеров указаны с точки:
PostfixProvider
.SqlData Provider for SQL Server
а в реализации — без. Тоже исправил. Теперь мне более-менее понятно с этим.
Help will always be given at Hogwarts to those who ask for it.
Re[2]: О нескольких ConfigurationString в .config файлах
От: Блудов Павел Россия  
Дата: 20.11.06 02:32
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Блин, а я понять не могу эту логику: в документации к свойству DbManager.ConfigurationString сказано:

_FR>

_FR>The configuration string may have a postfix used to define a data provider.

_FR>а в коде провайдер добовляется в configurationString перед именем строки соединения
_FR>Скорее всего в доке ошибка. я её исправлю на prefix.
Это именно суффикс у ConnectionString. Просто у него может быть ещё и префикс.

Не понятно? . Основная идея (ИМХО) была в том, чтобы можно было:
  1. Задать просто строку для подключения к конфигурации по умолчанию с использованием провайдера по умолчанию.
  2. Задать просто строку для подключения к конкретной конфигурации с использованием провайдера по умолчанию.
  3. Задать просто строку для подключения к конфигурации по умолчанию с использованием конкретного провайдера.
  4. Задать просто строку для подключения к конкретной конфигурации с использованием конкретного провайдера.

Теперь по порядку:
В первом случае имеем банальную key="ConnectionString" value="Blablabla".
Во втором и третьем случае имеем key="ConnectionString.Foo" value="Blablabla". Тут суфиксом задан то ли провайдер то ли конфигурация. Точнее, сначала ищется провайдер с таким именем, а если не находится, то ищется конфигурация.
Вот в четвёртом случае самое интересное: key="ConnectionString.Foo.Bar" value="Blablabla". Здесь Foo это однозначно провайдер, а bar именно конфигурация.

Честно говоря, мне всё это не очень нравится. Если знаешь, как сделать что-то более логичное но не менее удобное — welcome.
... << RSDN@Home 1.2.0 alpha rev. 642>>
Re[2]: О нескольких ConfigurationString в .config файлах
От: IT Россия linq2db.com
Дата: 20.11.06 03:53
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>Скорее всего в доке ошибка. я её исправлю на prefix.


Рудименты и отавизмы оставшиеся от RFD.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[3]: О нескольких ConfigurationString в .config файлах
От: _FRED_ Черногория
Дата: 20.11.06 13:03
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

БП>Это именно суффикс у ConnectionString. Просто у него может быть ещё и префикс.


Давай определимся с терминологией. В .config-файле для одного appSetting в key задаётся configuration string. Это набор (возможно, неполный) из имени строки соединения и провайдера. В качестве значения — собственно, строка для подключения к источнику данных.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key = "ConnectionString.ConfigurationString" value = "Server=.;Database=BLToolkitData;Integrated Security=SSPI"/>
    </appSettings>
</configuration>


Внутри, при настройке DbManager "програмно", используется именно ConfigurationString, но без точки вначале? Один к одному в том же формате и по тем же правилам
            // ''        : default provider,   default configuration;
            // '.'       : default provider,   default configuration;
            // 'foo.bar' :   'foo' provider,     'bar' configuration;
            // 'foo.'    :   'foo' provider,   default configuration;
            // 'foo'     : default provider,     'foo' configuration;
            // '.foo'    : default provider,     'foo' configuration;
            // '.foo.bar': default provider, 'foo.bar' configuration;

собранная строка?

Тогда провайдер указывается в префиксе configuration string и в суффиксе (но не в postfix-е!) переменной конфигурации.

Я прав?
... << RSDN@Home 1.2.0 alpha rev. 665>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[4]: О нескольких ConfigurationString в .config файлах
От: Блудов Павел Россия  
Дата: 20.11.06 13:08
Оценка: 14 (1) :)
Здравствуйте, _FRED_, Вы писали:

_FR>Тогда провайдер указывается в префиксе configuration string и в суффиксе (но не в postfix-е!) переменной конфигурации.


А postfix по-русски это разве не суффикс?

http://www.lingvo.ru/lingvo/Translate.asp?words=postfix
... << RSDN@Home 1.2.0 alpha rev. 642>>
Re[5]: О нескольких ConfigurationString в .config файлах
От: _FRED_ Черногория
Дата: 20.11.06 13:57
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

_FR>>Тогда провайдер указывается в префиксе configuration string и в суффиксе (но не в postfix-е!) переменной конфигурации.


БП>А postfix по-русски это разве не суффикс?

БП>http://www.lingvo.ru/lingvo/Translate.asp?words=postfix

1. сущ.
1) лингв. постфикс, суффикс
2) последовательность символов, заканчивающая другую последовательность

Спасибо, не переводил. Но интуиция меня, кажется, не подводит: в нашем случае имя провайдера никак не "последовательность символов, заканчивающая другую последовательность", так как есть ещё что-то, что идёт после указания провайдера, а именно имя самого подключения, верно?
... << RSDN@Home 1.2.0 alpha rev. 665>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[5]: О нескольких ConfigurationString в .config файлах
От: _FRED_ Черногория
Дата: 20.11.06 14:30
Оценка:
Здравствуйте, Блудов Павел, Вы писали:

_FR>>Тогда провайдер указывается в префиксе configuration string и в суффиксе (но не в postfix-е!) переменной конфигурации.

БП>А postfix по-русски это разве не суффикс?
БП>http://www.lingvo.ru/lingvo/Translate.asp?words=postfix

И ещё… Относительно ConfigurationString, которая в случае
key="ConnectionString.OleDb.News"

является OleDb.News, если я правильно всё понимаю, имя провайдера (OleDb) является именно префиксом. Или нет
... << RSDN@Home 1.2.0 alpha rev. 665>>
Now playing: «Тихо в лесу…»
Help will always be given at Hogwarts to those who ask for it.
Re[6]: О нескольких ConfigurationString в .config файлах
От: Блудов Павел Россия  
Дата: 21.11.06 01:40
Оценка:
Здравствуйте, _FRED_, Вы писали:
_FR>И ещё… Относительно ConfigurationString, которая в случае
_FR>
key="ConnectionString.OleDb.News"

_FR>является OleDb.News, если я правильно всё понимаю, имя провайдера (OleDb) является именно префиксом. Или нет

Слава! Я ещё раз повторяю: текущий дизайн настроек получился в результате естественной эволюции.
Т.е. в нём имеются рудименты. атавизмы и неоптимальные конструкции. Это нормально.
Сейчас самое время это всё порефакторить и сделать удобным и понятным. Делай как тебе больше нравится.
Дальше видно будет.
... << RSDN@Home 1.2.0 alpha rev. 642>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.