Zeos + mssql [Решено]

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Zeos + mssql [Решено]

Сообщение alaken » 16.07.2010 10:23:48

Посмотрев по форуму везде рекомендуют пользоваться Zeos. Послушался народной мудрости, тоже установил его себе
Проблема с авторизацией. Сервер mssql 7 настроен с использованием NT авторизации.
С какими параметрами нужно использовать TZConnection, чтобы авторизоваться?
Последний раз редактировалось alaken 16.07.2010 16:15:49, всего редактировалось 2 раз(а).
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Zeos + mssql

Сообщение А.Н. » 16.07.2010 11:10:27

Посмотрев по форуму везде рекомендуют пользоваться Zeos.

:mrgreen: :mrgreen: :mrgreen:
А.Н.
постоялец
 
Сообщения: 230
Зарегистрирован: 13.03.2010 12:23:58

Re: Zeos + mssql

Сообщение alaken » 16.07.2010 11:46:34

Оказалось все просто
для доменной авторизации нужно оставлять поля User,Password пустыми

вторые грабли на моем пути, это отображение русских букв, данные из базы отображаются в виде вопросов (??????? ????)
как это решить?
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Zeos + mssql

Сообщение serg48 » 16.07.2010 14:08:02

serg48
новенький
 
Сообщения: 12
Зарегистрирован: 21.03.2010 15:46:07

Re: Zeos + mssql

Сообщение alex_rain » 16.07.2010 14:10:32

Для отображения в DBGrid результатов запроса ZQuery с MSSQL:

1. Копируем файлы ZAbstractRODataset.pas, ZComponent.inc, Zeos.inc в папку проекта.
В ZComponent.inc меняем {$I ../Zeos.inc} на {$I Zeos.inc}.
В ZAbstractRODataset.pas меняем
Код: Выделить всё
    if doOemTranslate in FOptions then
    begin
      if ToOem then
        CharToOem(Src, Dest)
      else OemToChar(Src, Dest);
      Dest[Result] := #0;
    end
на
Код: Выделить всё
    if doOemTranslate in FOptions then
    begin
      if ToOem then
        s := UTF8Decode(Src)
      else
        s := UTF8Encode(Src);
      StrCopy(Dest, PChar(s));
      Result := StrLen(Dest);
      Dest[Result] := #0;
    end

2. Создаем обработчик события AfterOpen ZQuery:
Код: Выделить всё
var
  i: integer;
begin
  for i := 0 to DataSet.FieldCount - 1 do
    if DataSet.Fields[i] is TStringField then
      (DataSet.Fields[i] as TStringField).Transliterate := True;
end;
Без этого работать не будет, так как в Lazarus по умолчанию Transliterate = False.

3. После этого свойство ZQuery Options doOemTranslate используем для перекодировки ANSI в UTF8.

Lazarus 0.9.29 FPC 2.4.3 Win32
alex_rain
новенький
 
Сообщения: 26
Зарегистрирован: 12.02.2010 06:56:32
Откуда: Russia

Re: Zeos + mssql

Сообщение alaken » 16.07.2010 16:14:45

Код: Выделить всё
    if doOemTranslate in FOptions then
    begin
      if ToOem then
        s := UTF8Decode(Src)
      else
        s := UTF8Encode(Src);
      StrCopy(Dest, PChar(s));
      Result := StrLen(Dest);
      Dest[Result] := #0;
    end
s - не определена
описал как
Код: Выделить всё
var s: string;
все заработало.
СПАСИБО.
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Zeos + mssql

Сообщение alexkam » 11.08.2010 10:58:24

alaken писал(а):Оказалось все просто
для доменной авторизации нужно оставлять поля User,Password пустыми

вторые грабли на моем пути, это отображение русских букв, данные из базы отображаются в виде вопросов (??????? ????)
как это решить?


Не удалось подключиться в домене с пустыми User и Password. Какую версию Zeos используете. Я использую Zeos 7.0.0 alpha.
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Zeos + mssql [Решено]

Сообщение alaken » 14.08.2010 21:25:20

использую версию 6.6.6
alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: Zeos + mssql [Решено]

Сообщение alexkam » 19.08.2010 16:19:39

При открытии ZQuery ошибка:

errmssql.jpg


Что можно сделать?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Zeos + mssql [Решено]

Сообщение Mr.Smart » 19.08.2010 16:26:58

Это не ошибка Zeos.
Используется старая версия ntwdblib.dll не поддерживающая ntext.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Zeos + mssql [Решено]

Сообщение alexkam » 19.08.2010 17:14:15

Где взять новую?
alexkam
постоялец
 
Сообщения: 152
Зарегистрирован: 07.09.2009 20:03:59

Re: Zeos + mssql [Решено]

Сообщение Mr.Smart » 19.08.2010 17:20:01

Самая последняя версия из пакета SQL 2000 SP4. В более новые не входит (Microsoft отказалась от поддержки DB-Lib).
Правда я не уверен, что она тоже будет корректно работать с ntext (сам данным типом не пользуюсь). А вообще попробуйте отказаться от ntext (если возможно) или переходите на ODBC.

Добавлено спустя 57 секунд:
версия ntwdblib.dll из SQL 2000 SP 4 - 2000.80.2039.0
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38

Рейтинг@Mail.ru