powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
15 сообщений из 15, страница 1 из 1
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33109595
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем такое штука:
- на машине запушено 2 базы.
Первая серверная на Sybase Adaptive Server Anywhere Network Server Version 8.0.2.4513 (имя Base5)
Вторая локальная на Adaptive Server Anywhere Database Engine Version 9.0.2.3044 (имя Base9)
- При попытке приконектиться из Delphi через ADOConnection со следующей ConnectionString
Provider=ASAProv.90;Cache Authentication=True;Encrypt Password=False;Integrated Security=SSPI;Mask Password=False;Password=sql;Persist Encrypted=True;Persist Security Info=True;User ID=dba;Initial Catalog=""; Data Source=base9; Impersonation Level=Identify;Location="";Protection Level=None;Extended Properties="";ASA Multiple Results=False
(провайдер Sybase`совский не MS)

После коннекта при вызове sa_db_info видим что коннект был к Base5
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
procedure TdmDocuments.ADOConnection1AfterConnect(Sender: TObject);
var
  tmpQuery:TADOQuery;
begin
  tmpQuery:=TADOQuery.Create(nil);
  tmpQuery.Active := False;
  tmpQuery.Connection := dmDocuments.ADOConnection1;
  tmpQuery.SQL.Text:='call sa_db_info()';
  tmpQuery.Open;
  ShowMessage(tmpQuery.FieldByName('File').AsString);
  tmpQuery.Free();
  tmpQuery:=nil;
end;

Разница между Base5 и Base9 в том что для Base5 создан DSN, ну и порты 2639 и 2638 сответственно (ну и сетевая/локальная). Куда копать?

И ещё 1 неясность:
Как присоединиться к серверу через ASAProv.90 не используя ODBC?
Ведь для коннекта через ODBC вся необходимая инфо в DSN прописывалась. А теперь как?
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33109688
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ConnectionString ADO попробуйте поставить:

Для OLE DB:
Provider=ASAProv.90;eng=MyServer;dbn=MyDB;links=tcpip(ip=MyServer,127.0.0.1:2638);UID=dba;PWD=sql

Для ODBC:
Provider=MSDASQL;Driver={Adaptive Server Anywhere 9.0};eng=MyServer;dbn=MyDB;links=tcpip(ip=MyServer,127.0.0.1:2638);UID=dba;PWD=sql
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33109760
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо. Базу подцепило.
Получается что для OLE в параметр Extended Properties пишется то что раньше в DSN прописывалось...
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33109869
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCSБольшое спасибо. Базу подцепило.
Получается что для OLE в параметр Extended Properties пишется то что раньше в DSN прописывалось...
Угу - и главное, что при использование OLE DB на машине не нужен установленный драйвер ODBC, а при использовании ODBC совсем не обязательно создавать там DSN, лично я все настройки подключения кроме авторизации храню в ini-файлах, очень удобно и меньше мороки с инсталяцией программы клиенту. Например мы крутим на хостинге пилотные и демо БД, а на ftp выкладываем инсталяции клиентских частей, в которых сразу лежат ini с "нацеленными" на наши БД строки подключений. Нужный пользователь скачивает инсталяцию, запускает ее, она ставит драйвер ODBC или OLE DB и пользователь получает на рабочем столе сразу готовый ярлык для работы через интернет с нужным проектом.
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33109922
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Умно.
И как со скоростью в этом случае? А можно выложить настройку соединения (без реальных паролей и ip-шников)
----
А какой всё таки самый "быстрый" способ работы с базой?
- через ASAProv
- Через MSDASQL и ODBC (вряд-ли)

У меня на любой запрос при MSDASQL и ODBC минимум уходит 15-16 мс, а вот при чистом ASAProv ещё не смотрел, но приложение заметно оживилось...
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33109983
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCS пишет:

> И как со скоростью в этом случае? А можно выложить настройку соединения
> (без реальных паролей и ip-шников)
> ----
> А какой всё таки самый "быстрый" способ работы с базой?
> - через ASAProv
> - Через MSDASQL и ODBC (вряд-ли)
>
> У меня на любой запрос при MSDASQL и ODBC минимум уходит 15-16 мс, а вот
> при чистом ASAProv ещё не смотрел, но приложение заметно оживилось...

Хорошая у тебя точность восприятия, если ты заметил 15 мс. Или у тебя
тысячи запросов в секунду с одного клиента отправляются? Снимаешь
показания с датчиков в реальном режиме времени?
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33110089
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCSУмно.
И как со скоростью в этом случае? А можно выложить настройку соединения (без реальных паролей и ip-шников)
----
А какой всё таки самый "быстрый" способ работы с базой?
- через ASAProv
- Через MSDASQL и ODBC (вряд-ли)

У меня на любой запрос при MSDASQL и ODBC минимум уходит 15-16 мс, а вот при чистом ASAProv ещё не смотрел, но приложение заметно оживилось...
Дык я ее уже выложил специально:
авторProvider=ASAProv.90;eng=MyServer;dbn=MyDB;links=tcpip(ip=MyServer,127.0.0.1:2638);UID=dba;PWD=sqlвместо 127.0.0.1 ставим имя хоста или выделенный ip, вместо 2638 указываем реальный порт, через который разрешен выход ASA в интернет.

Насчет быстрых способов не знаю - у меня нет задачи посылать сотнями и тысячами запросы на сервер. В проектах я пользуюсь ODBC драйверами, как надежными и хорошо зарекомендовавшими себя. Сам доступ через интернет выглядит вполне нормально, клиентские приложение написаны с учетом минимизации трафика и лишние данные просто так не тянут, только там, где нужно. С учетом того, что девелоперские БД открыты в интернете, вся наша команда может спокойно подключаться и работать с ними при необходимости с любой точки, в т.ч. из дома. Так же храня отчеты FastReport прямо в БД я позволяю вести групповую разработку, сопровождение и печать отчетов через интернет, где в качестве инструментария выступает на базе FastReport сделанный мною COM-сервер, GUI "Менеджер отчетов", который работает через COM сервер или любое другое приложение, способное прицепить мой COM-сервер и имеющий права доступа к таблице с отчетами и хранимыми процедурами самих отчетов. Ну естественно для минимизации трафика в параметрах подключения через интернет я еще выставляю компрессию.

Иногда мне приходится клиентам демонстрировать по низкоскоростному соединению работу удаленного клиентского приложения с БД через интернет и работу репликации с консолидированной БД через интернет. В качестве демонстрации я привожу с собой ноутбук, воткнутый в него блю-ту и Motorola E398 на поясе, открываю локального клиента, вношу изменения, соединяюсь через GPRS, запускаю сеанс репликации через FTP, далее открываю второго клиента, настроенного на работу с консодированной БД и прямо на ней демонстрирую что данные пришли и предлагаю поиграться в игру "пинг-репликация-понг". Очень убедительно выглядит, особенно когда мой Мотор подмаргивает при передаче пакетов через GPRS :) Заодно убеждает клиентов, что не все выделенка хорошо, если есть качественный механизм репликации, то бывает целесообразнее держать данные на удаленных серверах, теперь еще можно и события 25 мая припоминать, когда в куче городов России остановилась работа благодаря местному концу света в Москве.
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33110508
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSУгу - и главное, что при использование OLE DB на машине не нужен установленный драйвер ODBC,
.... а только установленный драйвер OLE DB.
Договаривай до конца пожалуйста :)
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33112384
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Гoлдун
Хорошая у тебя точность восприятия, если ты заметил 15 мс. Или у тебя
тысячи запросов в секунду с одного клиента отправляются? Снимаешь
показания с датчиков в реальном режиме времени?
Posted via ActualForum NNTP Server 1.2
:)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
WriteLn(F1,'Начало'+# 9 + TimeToStr(Now())+':'+IntToStr(MilliSecondOf(Now())));
  tmpQuery:=TADOQuery.Create(nil);
  tmpQuery.Active := False;
  tmpQuery.Connection := dmDocuments.ADOConnection1;
  with tmpQuery.SQL do
  begin
    Clear;
    Add('...');
  end;
  tmpQuery.Open;
WriteLn(F1,'Конец'+# 9 + TimeToStr(Now())+':'+IntToStr(MilliSecondOf(Now())));

Вот так и получается 15-16 мс, причём сам запрос выполняется мгновенно. Сегодня переделаю всё на чистый ASA9 с OLE посмотрю как там будет...
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33112521
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCS пишет:

> Вот так и получается 15-16 мс, причём сам запрос выполняется мгновенно.
> Сегодня переделаю всё на чистый ASA9 с OLE посмотрю как там будет...

Повторяю вопросы еще раз: у тебя тысячи запросов в секунду с одного
клиента отправляются? Снимаешь показания с датчиков в реальном режиме
времени?

Если на оба вопроса ответ отрицательный и у тебя обычная учетная задача,
то не парь людям мозги. У меня вообще сейчас в основном используется
связка BDE+ODBC, и я что-то не замечаю никаких накладных расходов
времени на фоне прочего.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33114163
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Гoлдун
Повторяю вопросы еще раз: у тебя тысячи запросов в секунду с одного
клиента отправляются? Снимаешь показания с датчиков в реальном режиме
времени?


Когда запускается пересчёт то на 1 позицию выполняется от 10 до 30 запросов.
За 1 раз необходимо пересчитать до нескольких сотен таких позиций. Сетевая версия...

Александр Гoлдун
Если на оба вопроса ответ отрицательный и у тебя обычная учетная задача,
то не парь людям мозги.

Задача со своей спицификой и своими запарками.

Александр Гoлдун
У меня вообще сейчас в основном используется
связка BDE+ODBC, и я что-то не замечаю никаких накладных расходов
времени на фоне прочего.

Ну значит тебе повезло.
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33114245
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCS Александр Гoлдун
Повторяю вопросы еще раз: у тебя тысячи запросов в секунду с одного
клиента отправляются? Снимаешь показания с датчиков в реальном режиме
времени?

Когда запускается пересчёт то на 1 позицию выполняется от 10 до 30 запросов.
За 1 раз необходимо пересчитать до нескольких сотен таких позиций. Сетевая версия...

А что мешает сделать пересчет на сервере? Есть хранимые процедуры, для случаев тяжелой логики можно попробовать привлечь Java на сервере.
IgorCCS
Задача со своей спицификой и своими запарками.

Это я прекрасно понимаю, просто интересно в чем суть этой специфики? Все данные, необходимые для пересчета находятся в БД на сервере или нет?
IgorCCS
Александр Гoлдун
У меня вообще сейчас в основном используется
связка BDE+ODBC, и я что-то не замечаю никаких накладных расходов
времени на фоне прочего.

Ну значит тебе повезло.
У меня тоже есть тяжелые массовые пересчеты. Первоначальная разработка и отладка этих пересчетов делалась с клиента - мне так проще было. После отладки алгоритма пересчет переносился на сервер. Либо полностью, например в ХП, либо частично, уменьшая кол-во запросов с клиента и объем прокачиваемых данных. Можно было бы и не переносить, т.к. время было не так критично, но кое-где система работает через инет на канале 128 кбит с платным трафиком. Там актуален и объем, и латентность выполнения запроса. Но на фоне задержек разница между BDE+ODBC и native доступом несущественна
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33114278
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Гoлдун
У меня тоже есть тяжелые массовые пересчеты. Первоначальная разработка и отладка этих пересчетов делалась с клиента - мне так проще было. После отладки алгоритма пересчет переносился на сервер. Либо полностью, например в ХП, либо частично, уменьшая кол-во запросов с клиента и объем прокачиваемых данных. Можно было бы и не переносить, т.к. время было не так критично, но кое-где система работает через инет на канале 128 кбит с платным трафиком. Там актуален и объем, и латентность выполнения запроса. Но на фоне задержек разница между BDE+ODBC и native доступом несущественна

Мы когда начинали переделывать проект решили не переносить логику в базу. (До этого были и ХП и тригера..) Просто у одного клиента куплен Оракл, у другого MSSQL кто-то вообще ничего покупать не хочет. Соответственно у клиента есть люди которые обучались администрированию данной СУБД. Навязывать покупку ASA... занимает время. Вот и решили использовать базу только в качестве хранилища. А всю логику в клиентское приложение. И SQL как можно более стандартный использовать. Трафик в принципе не критичен это в основном всегда своя сеть.

Хотя конечно трафик необходимо минимизировать.
А как мониторинг объёма передаваемой информации можно как нибудь сделать?
А то одно время одному товарищу понравилось ненужные данные отсекать не в запросе, а тянуть всё и фильтр потом включать... Бывает и такое:)
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33114471
Фотография Александр Гoлдун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCS пишет:

> Мы когда начинали переделывать проект решили не переносить логику в
> базу. (До этого были и ХП и тригера..) Просто у одного клиента куплен
> Оракл, у другого MSSQL кто-то вообще ничего покупать не хочет.
> Соответственно у клиента есть люди которые обучались администрированию
> данной СУБД. Навязывать покупку ASA... занимает время.

Предложить ценовые условия, при которых выгоднее взять версию для ASA ;)
Шутка, но в каждой шутке есть доля здравого смысла. Вы ведь удорожаете
себе разработку! Если б мне предложили проект перевести с ASA на другой
сервер, я поднял бы стоимость оооочень существенно.

> Вот и решили
> использовать базу только в качестве хранилища. А всю логику в клиентское
> приложение. И SQL как можно более стандартный использовать.

Во многих случаях как раз таки ХП позволяют несколько скрыть от клиента
отличительные особенности разных серверов. Естественно, тексты этих
хранимых процедур могут отличаться, но с клиентской стороны разницы
никакой не будет.

> Хотя конечно трафик необходимо минимизировать.
> А как мониторинг объёма передаваемой информации можно как нибудь сделать?

Можно. Есть огромное количество утилит для подсчета трафика, как
платных, так и бесплатных. Зайди на любой софтоотстойник. Эта
потребность ведь очень распространенная, как раз по причине того, что у
множества провайдеров идет оплата за трафик.
Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
    #33114479
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCSМы когда начинали переделывать проект решили не переносить логику в базу. (До этого были и ХП и тригера..) Просто у одного клиента куплен Оракл, у другого MSSQL кто-то вообще ничего покупать не хочет. Соответственно у клиента есть люди которые обучались администрированию данной СУБД.
На мой взгляд, такая постановка задачи верный путь к трехзвенке. Простым клиент-сервер, здесь не обойтись.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Коннект к базе ASA 9.0.2.3044 через OLE минуя ODBC... Что-то я запутался...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]