Charset: Embedded & Superserver Mode

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

Ответить
mishmetall
Сообщения: 2
Зарегистрирован: 22 янв 2013, 19:04

Charset: Embedded & Superserver Mode

Сообщение mishmetall » 22 янв 2013, 19:43

Проблема в слудующем: при подключении к БД стоит charset UTF8, если стоит режим ServerType=0, то в программе все данные выводятся в нормальной читаемой кодировке, как в базе данных. Если же поменять ServerType=1, то получаю данные в кодировке win1251. После искусственного преобразования получаю правильный вид (через танцы с Encoding).

Строка подключения имеет слудующий вид:

Код: Выделить всё

<add name="FirebirdEntities" connectionString="metadata=res://*/FirebirdModel.csdl|res://*/FirebirdModel.ssdl|res://*/FirebirdModel.msl;provider=FirebirdSql.Data.FirebirdClient;provider connection string='character set=UTF8;data source=localhost;initial catalog=".\Data\MyDatabase.FDB";user id=SYSDBA;password=masterkey;Dialect=3;ServerType=1'" providerName="System.Data.EntityClient" />
*
* FirebirdSql.Data.FirebirdClient.dll 2.7.0.0
*
если менять на последнюю - то или не работает вообще или тоже самое.

дополнение: при попытке во встроенную бд добавить запись выдает "CHARACTER SET WIN1251 is not installed", хотя папка intl лежит

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Re: Charset: Embedded & Superserver Mode

Сообщение Dimitry Sibiryakov » 22 янв 2013, 21:12

Значит лежит не там или не так. Process Monitor в руки и смотреть где оно ищет intl.

mishmetall
Сообщения: 2
Зарегистрирован: 22 янв 2013, 19:04

Re: Charset: Embedded & Superserver Mode

Сообщение mishmetall » 22 янв 2013, 21:16

баг с Win1251 исправил (еще раз скопировал из архива все dll-ки и папки), проблема с кодировкой тем не менее осталась в силе

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Charset: Embedded & Superserver Mode

Сообщение kdv » 23 янв 2013, 10:04

баг? во-первых, разговор идет не про сервер, а про драйвер Firebird .Net. Во-вторых, до тех пор пока вы не нашли, что ошибка в драйвере, а не у вас, это ВАШ баг, и ничей больше.
Ну и, ИЗ ЧЕГО вы работаете с этим .Net? вообще с .Net тут на форуме почти никто не работает. Попробуйте задать вопрос на форумах sql.ru, только не в Firebird, скорее всего, а в разделе той среды разработки, которую вы используете.

Впрочем, перечитал ваше сообщение еще раз, может быть, проблема в том, как вы распаковываете embedded. У него нет никаких проблем с unicode.

Топик перенесу куда-нибудь в другое место, по вышеозначенным причинам.

Ответить