powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
45 сообщений из 45, показаны все 2 страниц
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35074434
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые колеги,
подскажите пожалуйста наиболее простой способ (или комбинацию технических приемов) копирования таблиц из исходной БД ASA 7.0 в другую БД ASA 10.0 на одном и том же компьютере без применения апгрэйда исходной БД до версии 9.0 и использования утилиты dbunload.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35077318
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
настройте линк между базами и через него вытягивайте таблицу.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35077419
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldнастройте линк между базами и через него вытягивайте таблицу.А где можно прочитать про линки ?
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35078446
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока wrote:

> А где можно прочитать про линки ?

Всё понятно . Задача не по твоим знаниям.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35078728
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000
Бока wrote:

> А где можно прочитать про линки ?

Всё понятно . Задача не по твоим знаниям.
Posted via ActualForum NNTP Server 1.4Ясное дело, так помогите необходимые знания получить максимально простым путем, если Вы конечно знаете где эти необходимые знания лежат.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35078784
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока Dim2000
Бока wrote:

> А где можно прочитать про линки ?

Всё понятно . Задача не по твоим знаниям.
Posted via ActualForum NNTP Server 1.4Ясное дело, так помогите необходимые знания получить максимально простым путем, если Вы конечно знаете где эти необходимые знания лежат.Можно ли это сделать в одной сессии утилиты dbisql ?
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35078807
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока Бока Dim2000
Бока wrote:

> А где можно прочитать про линки ?

Всё понятно . Задача не по твоим знаниям.
Posted via ActualForum NNTP Server 1.4Ясное дело, так помогите необходимые знания получить максимально простым путем, если Вы конечно знаете где эти необходимые знания лежат.Можно ли это сделать в одной сессии утилиты dbisql ?Я имел, в виду следующее: есть ли способ, находясь в коннекции к target ASA 10.0 DB в сессии dbisql, скопировать таблицу из source ASA 7.0 DB с помошью техники линкования ?
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35079716
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаЯ имел, в виду следующее: есть ли способ, находясь в коннекции к target ASA 10.0 DB в сессии dbisql, скопировать таблицу из source ASA 7.0 DB с помошью техники линкования ?
Есть, есть. Читай в BOL 10 раздел SQL Anywhere® Server - SQL Usage - Accessing Remote Data
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35079959
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl БокаЯ имел, в виду следующее: есть ли способ, находясь в коннекции к target ASA 10.0 DB в сессии dbisql, скопировать таблицу из source ASA 7.0 DB с помошью техники линкования ?
Есть, есть. Читай в BOL 10 раздел SQL Anywhere® Server - SQL Usage - Accessing Remote Data Спасибо.

А при использование ODBC-шного варианта, достаточно ли для поддержки такого варианта поставить пользователю вместе с БД только Engine, например для ASA 10.0 - это dbeng10.exe, dbodbc10.dll, dblgen10.dll ?

Если можно, то прошу Вас уточнить список DLLs и EXEs, необходимых для реализации использования линкования в ODBC-шном варианте. Дело в том, что Sybase oграничивает для нас тиражирование компонентов ASA своим пользователям, а навязывать им покупку полной версии ASA мы не хотим.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35079994
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока wrote:

> что Sybase oграничивает для нас тиражирование компонентов ASA своим
> пользователям, а навязывать им покупку полной версии ASA мы не хотим.

Пусть скачают с сайта Developer Edition, в нём есть всё.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35080016
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаА при использование ODBC-шного варианта, достаточно ли для поддержки такого варианта поставить пользователю вместе с БД только Engine, например для ASA 10.0 - это dbeng10.exe, dbodbc10.dll, dblgen10.dll ? Нет, недостаточно. А вот если прочитаешь в том же BOL раздел:
SQL Anywhere® Server - Programming > Deploying Databases and Applications
То узнаешь что надо копировать пользователю
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35083248
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В сессии dbisql, в коннекции к database user поименованному как "INTER", который имеет authorities of DBA and Remote DBA (это на всякий случай), последовательно запускаю следующие команды со следующим успехом:

DROP SERVER ASA70;
Execution time: 0.016 seconds

CREATE SERVER ASA70 CLASS 'SAODBC'
USING 'driver=C:\Program Files\Plant\dbodbc7.dll;dsn=ASA70_SOURCE';
Execution time: 0.031 seconds

DROP EXTERNLOGIN INTER100 TO ASA70;
Execution time: 0.032 seconds

CREATE EXTERNLOGIN INTER100 TO ASA70
REMOTE LOGIN INTER70 IDENTIFIED BY INTER70;
Execution time: 0.015 seconds

CALL sp_remote_tables (@server_name='ASA70')
Could not execute statement
Unable to connect to server 'ASA70':[Microsoft][ODBC Driver Manager]
Data source name not found and no default driver specified
SQLCODE=-656, ODBC 3 State="HY000"

При этом:
- DSN с именем ASA70_SOURCE определен в Registry фолдере HKEY_LOCAL_MACHINE\ODBC\ODBC.INI\ и соответствующая база стартована by ASA 7.0 Engine из одной из наших аппликаций;
- попытка протестировать коннекцию к данной БД из ODBC Data Source Administrator πριςοδιτ κ τοму, что при нажатии на кнопку "Configure" появляется сообщение
"Тhe setup routines for the Adaptive Server Anywhere 7.0 ODBC driver could not be found. Please reinstall the driver",
а затем сообщение
"Component not found in the registry",
хотя драйвер "Adaptive Server Anywhere 7.0" присутствует в списке драйверов в ODBC Data Source Administrator, и наши аппликации благополучни коннектятся к соответствующей БД через указанный DSN;
- database user "INTER70" в БД, соответствующей DSN "ASA70_SOURCE" имеет authorities of DBA.

В чем тут проблема ???
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35083263
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаВ сессии dbisql, в коннекции к database user поименованному как "INTER", который имеет authorities of DBA and Remote DBA (это на всякий случай),Запоминай:
Remote DBA это уникальные юзера которые имеют только одно назначение - через них к базе коннектятся dbremote.exe и dbmlsync.exe. Все.
Юзер с Remote DBA имеет DBA доступ если им зашел один из реплицирующих агентов и не имеет никаких прав если им зашел кто-то другой. Это сделано для того, чтобы можно было запускать репликацию из внешних шедулеров и вынужденно светить в этих шедулерах пароль юзера. При этом реплицирующий агент требует права на изменения всех таблиц участвующих в репликации, поэтому прав у этого юзера должно быть много... Отсюда и компромисс в виде специального права доступа 'Remote DBA'.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35083276
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl БокаВ сессии dbisql, в коннекции к database user поименованному как "INTER", который имеет authorities of DBA and Remote DBA (это на всякий случай),Запоминай:
Remote DBA это уникальные юзера которые имеют только одно назначение - через них к базе коннектятся dbremote.exe и dbmlsync.exe. Все.
Юзер с Remote DBA имеет DBA доступ если им зашел один из реплицирующих агентов и не имеет никаких прав если им зашел кто-то другой. Это сделано для того, чтобы можно было запускать репликацию из внешних шедулеров и вынужденно светить в этих шедулерах пароль юзера. При этом реплицирующий агент требует права на изменения всех таблиц участвующих в репликации, поэтому прав у этого юзера должно быть много... Отсюда и компромисс в виде специального права доступа 'Remote DBA'.ОК,
я добавил привелегии "Remote DBA" to database user "INTER" уже после того как пробовал проделать описанные операции, когда user "INTER" имел только привелегии "DBA". Результат был точно такой же.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35083290
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаCREATE SERVER ASA70 CLASS 'SAODBC'
USING 'driver=C:\Program Files\Plant\dbodbc7.dll;dsn=ASA70_SOURCE';
driver вместе с dsn - либо тавтология, либо конфликт. Драйвер всегда определен внутри dsn.
И вообще, достаточно будет
Код: plaintext
... USING 'ASA70_SOURCE';
А если ты внутрь dsn пропишешь еще и имя юзера с паролем, то и CREATE EXTERNLOGIN не понадобиться.... хотя это и риск конечно и с CREATE EXTERNLOGIN лучше.

Бока- DSN с именем ASA70_SOURCE определен в Registry фолдере HKEY_LOCAL_MACHINE\ODBC\ODBC.INI\ и соответствующая база стартована by ASA 7.0 Engine из одной из наших аппликаций;Это вообще-то очень разные вещи...
1) Не стоит лазить в регистри. Все что нужно прекрасно и намного надежнее делается через ODBC Administrator.
2) Запускать базу в embedded режиме конечно можно, но это слегка странновато если к ней надо коннектиться из другой базы... Я бы предпочел запустить базу в режиме нормального сервера.

Бока- попытка протестировать коннекцию к данной БД из ODBC Data Source Administrator πριςοδιτ κ τοму, что при нажатии на кнопку "Configure" появляется сообщение
"Тhe setup routines for the Adaptive Server Anywhere 7.0 ODBC driver could not be found. Please reinstall the driver",
а затем сообщение
"Component not found in the registry",
хотя драйвер "Adaptive Server Anywhere 7.0" присутствует в списке драйверов в ODBC Data Source Administrator, и наши аппликации благополучни коннектятся к соответствующей БД через указанный DSN;Я ж говорю - лучше пользоваться ODBC Adminstrator а не лазить в регистри...
ODBC драйвер для ASA7 в минимуме состоит из трех файлов - dbodbc7.dll, dbcon7.dll и dblgen7.dll. Первый - собственно сам драйвер, второй - визуальная консоль создающая и редактирующая dsn'ы и из нее же читается диалог для логина если строка коннекта неправильно сформирована (а у тебя она неправильная как я уже говорил, driver и dsn одновременно быть не должны). Третий файл - набор текстовых сообщений драйвера на английском (расшифровка ошибок им делается).
У тебя точно отсутствует dbcon7.dll.

Бока- database user "INTER70" в БД, соответствующей DSN "ASA70_SOURCE" имеет authorities of DBA.Это не важно и не обязательно. Это совершенно обычный юзер который должен иметь доступ только до тех таблиц к которым его будут посылать. Каких-то особенно широких прав ему не надо. С технической точки зрения не надо, но если тебе очень хочется можно и оставить его DBA'ем, но я бы не рекомендовал.

И кстати, если у тебя проблемы с доставанием недостающих кусков для ODBC ASA7, то они тебе и не особо нужны на самом деле. Вполне можно взять драйвер от SA10 (или какая у тебя версия?) и он превосходно, без единой проблемы, будет работать с базой ASA7. Наоборот тоже можно. У ASA в этом плане благодать - любой клиент начиная от 5.5 и до 10 может работать с базой от 5.5 и до десятки. Конфликтов не будет. ASA делается для людей.... в отличие от ASE :(
Просто создай свой ASA70_SOURCE на основе драйвера от SA10 (у тебя же он полностью стоит?) и проблемы исчезнут.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35088913
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, большое спасибо за помощь !

Получилось очень хорошо и в embeded варианте в коде Power Builder.
В связи с успехами, у меня появились следующие три вопроса:

1.) Кроме dbodbc7.dll, dbcon7.dll, dblgen7.dll и dbeng10.exe, для работы с REMOTE SSERVERS and EXISTING TABLES какие еще DLLs необходимы в embeded варианте ?

В подразделе Book Online SQL Anywhere® Server - Programming -> Deploying Databases and Applications -> Deploying embedded database applications перечислены следующие:
- Message Agent dbremote.exe;
- Database tools library dbtool10.dll, libdbtools10.so, libdbtasks10.so;
- Encryption/decryption module dbencod10.dll, libdbencod10_r.so;
- Language resource library dblg[en]10.dll, dblg[en]10.res;
- VIM message link library 1 dbvim10.dll, SMTP message link library 1, dbsmtp10.dll;
- FILE message link library 1 dbfile10.dll, libdbfile10.so;
- FTP message link library 1 dbftp10.dll, MAPI message link library 1, dbmapi10.dll;
- Interface Library dblib10.dll.

На опыте проверить, что конкретно необходимо, мне пока не удалось, потому что я тестировал пока на компьютере, на котором установлена полная версия ASA 10.0.

2.) Moжно ли ASA Remote SQL использовать для переноса данных из ASA в Oracle, из АСА в Microsoft SQL Server, а также в обратном направлении ?
И если да, то какие DLLs для этого необходимы ?

3.) Moжно ли ASA Remote SQL использовать для переноса данных из Oracle,в Microsoft SQL Server и в обратном направлении ?
И если да, то какие DLLs для этого необходимы ?
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35088940
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока1.) Кроме dbodbc7.dll, dbcon7.dll, dblgen7.dll и dbeng10.exe, для работы с REMOTE SSERVERS and EXISTING TABLES какие еще DLLs необходимы в embeded варианте ?ээээ..... А что вам собственно говоря надо? Во первых, не надо пихать в одну кучу драйвер ODBC и движок СУБД. Тем более какой смысл смешивать две разные версии? Можно конечно и будет работать, но слегка странновато. Если есть десятка, почему бы и odbc от десятки не взять?
А во вторых, получить доступ к чужой базе через прокси-таблицы нужно только одно - правильно работающий odbc драйвер к чужой базе. Все. Какой это будет драйвер конкретно и из каких именно dll он будет состоять это уже дело совершенно другое.

БокаВ подразделе Book Online SQL Anywhere® Server - Programming -> Deploying Databases and Applications -> Deploying embedded database applications перечислены следующие:
...
На опыте проверить, что конкретно необходимо, мне пока не удалось, потому что я тестировал пока на компьютере, на котором установлена полная версия ASA 10.0.А что там проверять? Реши сначала какие модули тебе нужны, а потом бери из этого списка dll относящиеся к нужному модулю.

Бока2.) Moжно ли ASA Remote SQL использовать для переноса данных из ASA в Oracle, из АСА в Microsoft SQL Server, а также в обратном направлении ?
И если да, то какие DLLs для этого необходимы ?эээээ...... Что такое SQL Remote знаю, что такое Remote SQL не знаю. Если имелись в виду прокси-таблицы, то да - из ASA ты можешь подключиться к абсолютно любой БД, лишь бы у тебя был для нее работающий ODBC драйвер. Если в качестве "чужой" базы выступает другая ASA база, то да dbodbcX.dll, dbconX.dll и dblgenX.dll действительно будет достаточно.
Если же вопрос был про систему репликации данных SQL Remote, то нет. Она прекрасно работает между двумя ASA базами, но реплицировать данные с базами других типов не умеет. Зато можно взять Mobilink - он посложнее в настройке и администрировании, зато он может использовать базы других типов в качестве консолидированой, удаленные базы все равно должны быть ASA.

А третий вопрос от второго ничем не отличается :)
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35088967
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЕсли имелись в виду прокси-таблицы, то да - из ASA ты можешь подключиться к абсолютно любой БД, лишь бы у тебя был для нее работающий ODBC драйвер. Если в качестве "чужой" базы выступает другая ASA база, то да dbodbcX.dll, dbconX.dll и dblgenX.dll действительно будет достаточно. Если я правильно понял, то прокси-таблицы это те которые создаются путем "CREATE EXISTING TABLE ..." после создания Remote Server ("CREATE SERVER ...") и обеспечивается коннект к определенному database user-у на нем ("CREATE EXTERNLOGIN ...").
Если так, то да - это все, что нам нужно, причем для наших END-users только в embeded режиме.
Правильно ли я понял, что dbodbcX.dll, dbconX.dll и dblgenX.dll достаточно для такой работы ?
И более того dbengX.exe в этом случае вообще не нужен ?

White OwlЕсли же вопрос был про систему репликации данных SQL Remote, то нет. Она прекрасно работает между двумя ASA базами, но реплицировать данные с базами других типов не умеет. Зато можно взять Mobilink - он посложнее в настройке и администрировании, зато он может использовать базы других типов в качестве консолидированой, удаленные базы все равно должны быть ASA. Нет репликации нам пока не нужны, но использование прокси-таблиц для перекачивания данных из ASA в Oracle, MSSQL и обратно нужно. Пригодилось бы и возможность использования ASA прокси-таблиц, κак промежуточных для перекачки данных из Oracle в MSSQL и обратно.
Правильно ли я понял, что для обеспечения такой возможности в embeded режиме на клиент-компьютере достаточно иметь следующее:
- от ASA - dbodbcX.dll, dbconX.dll и dblgenX.dll ;
- οτ Оracle и MSSQL - установленные клиенты с соответствующими ODBC драйверами ?
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089041
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаЕсли так, то да - это все, что нам нужно, причем для наших END-users только в embeded режиме.
Правильно ли я понял, что dbodbcX.dll, dbconX.dll и dblgenX.dll достаточно для такой работы ?
И более того dbengX.exe в этом случае вообще не нужен ?
А движок СУБД не нужен ;)? dbodbcX.dll, dbconX.dll и dblgenX.dll - это ODBC-клиент.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089081
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаЕсли я правильно понял, то прокси-таблицы это те которые создаются путем "CREATE EXISTING TABLE ..." после создания Remote Server ("CREATE SERVER ...") и обеспечивается коннект к определенному database user-у на нем ("CREATE EXTERNLOGIN ...").Да.

БокаЕсли так, то да - это все, что нам нужно, причем для наших END-users только в embeded режиме.так.... Кажется, ты не понимаешь что такое этот самый embedded режим :)
ASA может работать как нормальный сервер баз данных - на одном большом компьютере запускается сервер с базой, а пользователи (клиенты) подключаются к этому серверу по сети (по локальной или через интернет). А еще ASA может работать как локальная база для одного единственного пользователя - тогда она (обычно) запускается автоматически когда запускается пользовательское приложение (например на PowerBuilder) и автоматически выключается когда пользователь закрывает свое приложение. Вот этот второй вариант работы и называется 'embedded'.
До тех пор, пока у тебя в офисе всего один компьютер, и только один пользователь который должен работать с базой данных - режим встроенной БД (embedded=встроенный) очень удобен. Но как только у тебя появляется необходимость подключить к этой базе второй компьютер, то сразу требуется переводить базу в сетевой режим.
"Так..." номер два: начинай все же думать в терминах сервера и клиента. У тебя всегда будет сервер и один или несколько клиентов. Сервер ждет когда к нему подключаться, клиент инициирует подключение.
Если ты связываешь две базы напрямую, то одна из них становится сервером, другая клиентом. Они могут быть на одном и том же компе, или на двух разных. Но они все равно будут сервер и клиент. Та база в которой ты создаешь свои прокси-таблицы это клиент. Та база к которой ты подключаешься - это сервер.
ODBC драйвер нужен клиенту, серверу он нафиг не нужен, но клиент без него не сможет никуда подключиться.

БокаПравильно ли я понял, что dbodbcX.dll, dbconX.dll и dblgenX.dll достаточно для такой работы ?
И более того dbengX.exe в этом случае вообще не нужен ? Комп 1: На нем стоит ASA база и он играет роль сервера. Серверные функции выполняет dbsrvX.exe.
Koмп 2: Играет роль клиента. На него ставится интерфейсные драйвера (ODBC например) и клиентская программа. Если ты хочешь в качестве клиента использовать вторую ASA базу, то запускаешь на этом втором компе вторую копию dbsrvX.exe (если хочешь чтобы эта база сама была сервером для кого-нибудь) а если не хочешь чтобы к ней кто-либо подключался кроме локального пользователя запускаешь dbengX.exe
Если у тебя всего один комп и обе базы находятся на нем, то обе базы могут быть запущены через dbengX.exe или обе через dbsrvX.exe. Зависит от того, надо тебе чтобы к ним кто-то еще подключался по сети или надо.

Бокаиспользование прокси-таблиц для перекачивания данных из ASA в Oracle, MSSQL и обратно нужно. Пригодилось бы и возможность использования ASA прокси-таблиц, κак промежуточных для перекачки данных из Oracle в MSSQL и обратно.Да, это возможно.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089149
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl БокаЕсли так, то да - это все, что нам нужно, причем для наших END-users только в embeded режиме.так.... Кажется, ты не понимаешь что такое этот самый embedded режим :)
ASA может работать как нормальный сервер баз данных - на одном большом компьютере запускается сервер с базой, а пользователи (клиенты) подключаются к этому серверу по сети (по локальной или через интернет). А еще ASA может работать как локальная база для одного единственного пользователя - тогда она (обычно) запускается автоматически когда запускается пользовательское приложение (например на PowerBuilder) и автоматически выключается когда пользователь закрывает свое приложение. Вот этот второй вариант работы и называется 'embedded'.
До тех пор, пока у тебя в офисе всего один компьютер, и только один пользователь который должен работать с базой данных - режим встроенной БД (embedded=встроенный) очень удобен. Но как только у тебя появляется необходимость подключить к этой базе второй компьютер, то сразу требуется переводить базу в сетевой режим.

"Так..." номер два: начинай все же думать в терминах сервера и клиента. У тебя всегда будет сервер и один или несколько клиентов. Сервер ждет когда к нему подключаться, клиент инициирует подключение.
Если ты связываешь две базы напрямую, то одна из них становится сервером, другая клиентом. Они могут быть на одном и том же компе, или на двух разных. Но они все равно будут сервер и клиент. Та база в которой ты создаешь свои прокси-таблицы это клиент. Та база к которой ты подключаешься - это сервер.
ODBC драйвер нужен клиенту, серверу он нафиг не нужен, но клиент без него не сможет никуда подключиться.Именно это я и имел в виду под режимом embedded и именно на клиент-компьютере. Наша аппликация в качестве серверов использует либо Oracle либо MSSQL, а каждая из баз данных ASA используются только на одном компьютере и только одним пользователем:
- во-первых в качестве repository для серверной БД;
- во-вторых, для проведения апгрэйда баз данных на Oracle или MSSQL в соответствии с апгрэйдом аппликации;
- в-третьих, для передачи информации из компании-контрактора в компанию-субконтрактора, и наоборот, в том случае, когда эти компании пользуются разными серверами.

White Owl БокаПравильно ли я понял, что dbodbcX.dll, dbconX.dll и dblgenX.dll достаточно для такой работы ?
И более того dbengX.exe в этом случае вообще не нужен ? Комп 1: На нем стоит ASA база и он играет роль сервера. Серверные функции выполняет dbsrvX.exe.
Koмп 2: Играет роль клиента. На него ставится интерфейсные драйвера (ODBC например) и клиентская программа. Если ты хочешь в качестве клиента использовать вторую ASA базу, то запускаешь на этом втором компе вторую копию dbsrvX.exe (если хочешь чтобы эта база сама была сервером для кого-нибудь) а если не хочешь чтобы к ней кто-либо подключался кроме локального пользователя запускаешь dbengX.exe
Если у тебя всего один комп и обе базы находятся на нем, то обе базы могут быть запущены через dbengX.exe или обе через dbsrvX.exe. Зависит от того, надо тебе чтобы к ним кто-то еще подключался по сети или не надо.Для моего сценария обе базы ASA находятся на одном компе. Судя по тому, что если, подключившись к embeded базе-target, аппликация выполняет команды "CREATE SERVER ..." и "CREATE EXTERNLOGIN ..." для базы-source, то эта база сама поднимается из offline в online.
Правильно ли предположить, что это обеспечивается наличием на компьютере dbengX.exe ?

White Owl Бокаиспользование прокси-таблиц для перекачивания данных из ASA в Oracle, MSSQL и обратно нужно. Пригодилось бы и возможность использования ASA прокси-таблиц, κак промежуточных для перекачки данных из Oracle в MSSQL и обратно.Да, это возможно.Правильно ли предположить, что для осуществления этого сценария со стороны ASA достаточно наличие на клиент-компьютере всё тех же dbodbcX.dll, dbconX.dll и dblgenX.dll ??
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089150
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl Бокаиспользование прокси-таблиц для перекачивания данных из ASA в Oracle, MSSQL и обратно нужно. Пригодилось бы и возможность использования ASA прокси-таблиц, κак промежуточных для перекачки данных из Oracle в MSSQL и обратно.Да, это возможно.Правильно ли предположить, что для осуществления этого сценария со стороны ASA достаточно наличие на клиент-компьютере всё тех же dbodbcX.dll, dbconX.dll, dblgenX.dll и dbengX.exe ???
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089190
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаПравильно ли предположить, что для осуществления этого сценария со стороны ASA достаточно наличие на клиент-компьютере всё тех же dbodbcX.dll, dbconX.dll, dblgenX.dll и dbengX.exe ???
Нет. Это только ODBC-клиент.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089338
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000 БокаПравильно ли предположить, что для осуществления этого сценария со стороны ASA достаточно наличие на клиент-компьютере всё тех же dbodbcX.dll, dbconX.dll, dblgenX.dll и dbengX.exe ???
Нет. Это только ODBC-клиент.А какие ещё компоненты ASA, кроме движка (dbengX.exe) и ODBC драйвера (dbodbcX.dll, dbconX.dll, dblgenX.dll), НЕОБХОДИМЫ И ДОСТАТОЧНЫ для следующих сценариев:
a.) создания и использования в локальной БД ASA прокси-таблиц на реальные таблицы в другой БД ASA, находящейся на том же компьютере ??
b.) создания и использования в локальной БД ASA прокси-таблиц на реальные таблицы БД Oracle или MSSQL серверов ??

Заодно по сценарию b.) попутный вопрос:
- понятно, что через прокси-таблиц, созданные на реальные таблицы, находящиеся в БД Oracle/MSSQL, можно инсертировать данные из этих Oracle/MSSQL БД в реальные таблицы локальной БД ASA;
- но можно ли через прокси-таблицы, созданные на реальные таблицы, находящиеся в БД Oracle/MSSQL, инсертировать данные из локальной БД ASA, где эти прокси-таблицы созданы, в соответствующие реальные таблицы , находящиеся в БД Oracle/MSSQL ???
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089345
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, я прошу прощения, но уверенный ответ на вопрос по сценарию a.) из моего предыдущего поста:
какие ещё компоненты ASA, кроме движка (dbengX.exe) и ODBC драйвера (dbodbcX.dll, dbconX.dll, dblgenX.dll), НЕОБХОДИМЫ И ДОСТАТОЧНЫ для создания и использования в локальной БД ASA прокси-таблиц на реальные таблицы в другой БД ASA, находящейся на том же компьютере (??),
- мне очень желательно получить до завтрашнего утра.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089364
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока

А при использование ODBC-шного варианта, достаточно ли для поддержки такого варианта поставить пользователю вместе с БД только Engine, например для ASA 10.0 - это dbeng10.exe, dbodbc10.dll, dblgen10.dll ?

Если можно, то прошу Вас уточнить список DLLs и EXEs, необходимых для реализации использования линкования в ODBC-шном варианте. Дело в том, что Sybase oграничивает для нас тиражирование компонентов ASA своим пользователям, а навязывать им покупку полной версии ASA мы не хотим.

есть такой раздел в хелпе
Applacation Techinques
->Deployment Techinques
описывается какие файлы для чего нужны
-> Chapter 41
-> Deployment database
есть описание что нужно для работы ASAшки


а можно я еще ложку дегтя капну
каким образом Sybase ограничивает Вас в тиражировании компонентов ASA ?

- по партнерской программе вроде особых ограничений нет ( только АСАшку покупать для клиенту надо )

- а если Вы имеете ввиде ту лицензию которая идет
роялти фри с PowerBuilder то по ней Вы можете распространять
ТОЛЬКО Runtime Engine - урезанная версия Stand Alone Engine
в которой отсутствует лог, тригера и хранимые процедуры
поддерживает ли рантайм энжин доступ к удаленным серверам я сходу не вспомню
но что-то мне подсказывает что врядли .
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089380
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаА какие ещё компоненты ASA, кроме движка (dbengX.exe)
dbengX.exe - это не движок!!! Посмотри хотя бы на его размер. Что ещё нужно - не знаю, у меня полный сервер, огрызками не пользуюсь.

Бока- но можно ли через прокси-таблицы, созданные на реальные таблицы, находящиеся в БД Oracle/MSSQL, инсертировать данные из локальной БД ASA, где эти прокси-таблицы созданы, в соответствующие реальные таблицы , находящиеся в БД Oracle/MSSQL ???
Да, при наличии прав.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089493
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim2000 БокаА какие ещё компоненты ASA, кроме движка (dbengX.exe)
dbengX.exe - это не движок!!! Посмотри хотя бы на его размер. А что это с точки зрения терминологии ?

Бока- но можно ли через прокси-таблицы, созданные на реальные таблицы, находящиеся в БД Oracle/MSSQL, инсертировать данные из локальной БД ASA, где эти прокси-таблицы созданы, в соответствующие реальные таблицы , находящиеся в БД Oracle/MSSQL ???
Да, при наличии прав.[/quot]Отлично.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089534
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pand Бока

А при использование ODBC-шного варианта, достаточно ли для поддержки такого варианта поставить пользователю вместе с БД только Engine, например для ASA 10.0 - это dbeng10.exe, dbodbc10.dll, dblgen10.dll ?

Если можно, то прошу Вас уточнить список DLLs и EXEs, необходимых для реализации использования линкования в ODBC-шном варианте. Дело в том, что Sybase oграничивает для нас тиражирование компонентов ASA своим пользователям, а навязывать им покупку полной версии ASA мы не хотим.

есть такой раздел в хелпе
Applacation Techinques
->Deployment Techinques
описывается какие файлы для чего нужны
-> Chapter 41
-> Deployment database
есть описание что нужно для работы ASAшкиМы до сих пор поставляли только dbeng7.exe, dbodbc7.dll, dblgen7.dll, и этого было достаточно для работы с локальными БД ASA 7.0 в embeded режиме. Вот сейчас переходим на ASA 10.0. Ясно, что необходимо поставлять dbeng10.exe, dbodbc10.dll, dblgen10.dll и желательно dbcon10.dll.

Мне пришла в голову идея использовать технику прокси-таблиц для перекачки таблиц из БД в БД, находящихся на одном компьютере, вместо техники использования PowerBuilder-овских Data Store по следующим причинам:
- техника использования PowerBuilder-овских Data Store более муторная и нудная, чем простая техника использования прокси-таблиц с помощью только SQL комманд. Например можноиспользовать bulk-copy ("SELECT * INTO copy_table FROM proxy_table"), а затем создать primary и foreign keys и индексы ;
- производительность перекачки SQL командами через прокси-таблицы несомненно выше, чем через Data Store.
Именно в связи с этим я и бы хотел знать: нужно ли использовать ещё какие-либо компоненты (кроме вышеуказанных DLLs и EXE) для работы с прокси-таблицами в embeded режиме ?
Я конечно это проверю на компьютере, на котром не установлены продукты Sybase, но думал, что, возможно, кто-то из участников форума уже об этом знает точно.

pandа можно я еще ложку дегтя капну
каким образом Sybase ограничивает Вас в тиражировании компонентов ASA ?У нас есть с Sybase специальное соглашение, согласно которому, кроме Runtime Engine, разрешенного к распространению в соответствии с лицензией, которая идет "роялти фри" с PowerBuilder, мы имеем право поставлять Database Engine и ODBC драйвер для каждой версии ASA, входящей в очередную версию PowerBuilder Enterprise (в обсуждаемом случае это PB 11 и ASA 10).
Если же для работы с прокси-твблицами необходимы еще какие-то компоненты, то мы должны будем обновить соглашение. Но желательно знать минимально-некобходимый состав таких компонент.

pand- по партнерской программе вроде особых ограничений нет ( только АСАшку покупать для клиенту надо )Что означает "покупать АСАшку" ?
Мы как раз стремимся и сами лишнего не покупать и пользователей не вынуждать это делать.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089542
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё один "ЗА" в пользу использования прокси-таблиц для перекачки по сравнению с Data Store - это то, что blobs в PB нужно обрабатывать с помощью отдельной от Data Store техники, что занудняет код и ухудшает производительность перекачки.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089578
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока
Мне пришла в голову идея использовать технику прокси-таблиц для перекачки таблиц из БД в БД, находящихся на одном компьютере, вместо техники использования PowerBuilder-овских Data Store

наверное вместо Data Store следует читать PipeLine ?
Бока
Я конечно это проверю на компьютере, на котром не установлены продукты Sybase, но думал, что, возможно, кто-то из участников форума уже об этом знает точно.

Хелп к билдеру об этом точно знает :) нужно его только правильно спросить

Бока
У нас есть с Sybase специальное соглашение, согласно которому, кроме Runtime Engine, разрешенного к распространению в соответствии с лицензией, которая идет "роялти фри" с PowerBuilder, мы имеем право поставлять Database Engine и ODBC драйвер для каждой версии ASA, входящей в очередную версию PowerBuilder Enterprise (в обсуждаемом случае это PB 11 и ASA 10).
........
Что означает "покупать АСАшку" ?
Мы как раз стремимся и сами лишнего не покупать и пользователей не вынуждать это делать.

а можно с Вами в привате пообщеться поподробнее на эту тему. Может я как то не правильно понимаю партнерскую программу ?
Стремление похвальное и я к томуже стремлюсь.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089629
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pand Бока
Мне пришла в голову идея использовать технику прокси-таблиц для перекачки таблиц из БД в БД, находящихся на одном компьютере, вместо техники использования PowerBuilder-овских Data Store

наверное вместо Data Store следует читать PipeLine ?Я думаю, что в основе разработки PipeLine скорее всего лежит техника Data Store. Я же имел в виду в коде PB заполнение Data Store в source-транзакции, а затем update таблицы, через заполненное Data Store. Я эту технику плохо знаю, и с блобами неохота отдельно возиться, поэтому мне гораздо больше понравилась техника использования для таких целей прокси-таблиц.

pand Бока
Я конечно это проверю на компьютере, на котором не установлены продукты Sybase, но думал, что, возможно, кто-то из участников форума уже об этом знает точно.

Хелп к билдеру об этом точно знает :) нужно его только правильно спроситьПопробую, может подскажете как правильно спросить ?

pand Бока
У нас есть с Sybase специальное соглашение, согласно которому, кроме Runtime Engine, разрешенного к распространению в соответствии с лицензией, которая идет "роялти фри" с PowerBuilder, мы имеем право поставлять Database Engine и ODBC драйвер для каждой версии ASA, входящей в очередную версию PowerBuilder Enterprise (в обсуждаемом случае это PB 11 и ASA 10).
........
Что означает "покупать АСАшку" ?
Мы как раз стремимся и сами лишнего не покупать и пользователей не вынуждать это делать.

а можно с Вами в привате пообщеться поподробнее на эту тему. Может я как то не правильно понимаю партнерскую программу ?
Стремление похвальное и я к томуже стремлюсь.Пожалуйста, но я пока не понял как на этом форуме организован приват.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089749
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бока
pand Бока
Я конечно это проверю на компьютере, на котором не установлены продукты Sybase, но думал, что, возможно, кто-то из участников форума уже об этом знает точно.

Хелп к билдеру об этом точно знает :) нужно его только правильно спроситьПопробую, может подскажете как правильно спросить ?

выше я указывал раздел в котором рассказано о деплое - находится этот раздел
в Html books хелпа вызываемого из билдера .

Бока
Пожалуйста, но я пока не понял как на этом форуме организован приват.
в моем профиле есть мыло
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35089751
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаА что это с точки зрения терминологии ?
Понятия не имею. По жизни это запускалка (так же как PBx.EXE - это не ядро Powerbuilder-а). Движок - это dbservX.dll. Для доступа к удалённым данным нужен ещё, кажется, dbcisX.dll. Точнее не скажу, т.к. проверить это на чистом компе не имею ни возможности, ни желания ;).
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35092651
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаДля моего сценария обе базы ASA находятся на одном компе. Судя по тому, что если, подключившись к embeded базе-target, аппликация выполняет команды "CREATE SERVER ..." и "CREATE EXTERNLOGIN ..." для базы-source, то эта база сама поднимается из offline в online.
Правильно ли предположить, что это обеспечивается наличием на компьютере dbengX.exe ?Не совсем.... Create server - всего лишь создаст ярлычок для базы источника. А вот чтобы база источник "самостоятельно" стартовала, на компе должен быть соотвествующий клиентский интерфейс (odbc или dblib) который при попытке через него подключится и стартанет движок базы.
Короче говоря, почитай вот это: SQL Anywhere® Server - Programming > Deploying Databases and Applications > Deploying database servers
Там четко написано какие файлы нужны для сервера и что они делают.

Бокаиспользование прокси-таблиц для перекачивания данных из ASA в Oracle, MSSQL и обратно нужно. Пригодилось бы и возможность использования ASA прокси-таблиц, κак промежуточных для перекачки данных из Oracle в MSSQL и обратно.
Правильно ли предположить, что для осуществления этого сценария со стороны ASA достаточно наличие на клиент-компьютере всё тех же dbodbcX.dll, dbconX.dll и dblgenX.dll ??Нет. Они в этом случае вообще не нужны. Эти три dll нужны для подключения к ASA. Если же ты подключаешься из ASA в какую-то другую базу, то ASA ODBC тебе совсем не нужен. Зато Oracle ODBC или MSSQL ODBC очень даже пригодятся. ODBC это клиентский интерфейс к базе и он должен соответствовать той базе к которой ты пытаешься подключиться.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35098828
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В результате эксперементальной проверки exe моей программы с использование прокси-таблиц на чистом компе выяснилось, что необходимо наличие следующих DLLs :
dbserv10.dll
dbctrs10.dll
dbcon10.dll
dbodbc10.dll
dblgen10.dll
dbicu10.dll
dbicudt10.dll
Получилось так, что dbeng10.exe и dbcon7.dll я положил как бы по умолчанию до начала проверки, поэтому о их необходимости я точно утверждать не могу. Хотя dbcon7.dll, видимо, необходим для создания DSN в ODBC администраторе.

Кроме того выяснилось, что для работы с БД ASA 7.0 мы поставляем конечным пользователям следующиее компоненты:
dbeng7.exe
rteng7.exe
dbserv7.dll
dbctrs7.dll
dbcon7.dll
dbodbc10.dll
dblgen10.dll

Поскольку DLLs, соответствующих по именам dbicu10.dll и dbicudt10.dll, ни в директории WIN32 версии 7.0 ни в директории WIN32 версии 9.0, я не нашёл, то делаю вывод, что это что-то новое для ASA 10.0, но не связанное с прокси-таблицами, поскольку прокси-таблицы использовались и в предыдущих версиях.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35098833
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В предыдущем моём посте есть неточности в наименованиях DLLs, поэтому я решил уточнить текст.

В результате эксперементальной проверки exe моей программы с использование прокси-таблиц на чистом компе выяснилось, что необходимо наличие следующих DLLs :
dbserv10.dll
dbctrs10.dll
dbcon10.dll
dbodbc10.dll
dblgen10.dll
dbicu10.dll
dbicudt10.dll
Получилось так, что dbeng10.exe и dbcon10.dll я положил как бы по умолчанию до начала проверки, поэтому о их необходимости я точно утверждать не могу. Хотя dbcon7.dll, видимо, необходим для создания DSN в ODBC администраторе.

Кроме того выяснилось, что для работы с БД ASA 7.0 мы поставляем конечным пользователям следующиее компоненты:
dbeng7.exe
rteng7.exe
dbserv7.dll
dbctrs7.dll
dbcon7.dll
dbodbc7.dll
dblgen7.dll

Поскольку DLLs, соответствующих по именам dbicu10.dll и dbicudt10.dll, ни в директории WIN32 версии 7.0 ни в директории WIN32 версии 9.0, я не нашёл, то делаю вывод, что это что-то новое для ASA 10.0, но не связанное с прокси-таблицами, поскольку прокси-таблицы использовались и в предыдущих версиях.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35098870
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме того хотелось бы отметить, что коннектироваться из ASA 10 к ASA 7 и наоборот ни через Sybase Central ни в ODBC администраторе (тест коннекции) мне не удалось.
В обоих случаях дает сообщение "specified database is invalid".
Правда через ODBC администратор я проверял только в одну сторону - пытался создать DSN для БД ASA 10 c помощью ODBC драйвера ASA 7.

Вот с ASA 9 на ASA 7 коннекция работает, в обратную сторону не проверял.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35098893
pand
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаКроме того хотелось бы отметить, что коннектироваться из ASA 10 к ASA 7 и наоборот ни через Sybase Central ни в ODBC администраторе (тест коннекции) мне не удалось.
В обоих случаях дает сообщение "specified database is invalid".
Правда через ODBC администратор я проверял только в одну сторону - пытался создать DSN для БД ASA 10 c помощью ODBC драйвера ASA 7.

Вот с ASA 9 на ASA 7 коннекция работает, в обратную сторону не проверял.

сервер 10 не поддерживает предыдущие версии баз. поэтому базу нужно пересоздавать на 10

Еще раз просьба - напиши pand {AT} ukr{dot}net
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35098929
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаКроме того хотелось бы отметить, что коннектироваться из ASA 10 к ASA 7 и наоборот ни через Sybase Central ни в ODBC администраторе (тест коннекции) мне не удалось. Или ты путаешь понятия коннект и загрузка базы, либо обманываешь :)
dbengX - это сервер. Сервер принимает на вход файл базы данных. Сервер запускается и ждет клиентов. В ASA (от 5.5 до 9) любой сервер может принимать файл базы данных созданный в предыдущих версиях. То есть dbeng9.exe может загрузить и прекрасно работать (правда с некоторой потерей производительности) с файлом базы данных созданным в любой ASA от 5.5 до 8. Конечно седьмой движок не сможет поднять базу созданую в девятке....
SA10 стоит особняком. В ней убрали возможность загружать базы старых версий. Точка.

А вот подключаться можно при помощи драйвера любой версии к базе любой версии. Если ты делаешь DSN на основе драйвера из ASA7, ты можешь подключаться к любому из ASA серверов за все время жизни ASA. Тоже самое и с драйверами из SA10.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35099031
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pandЕще раз просьба - напиши pand {AT} ukr{dot}netПослал свой адрес.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35099060
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlА вот подключаться можно при помощи драйвера любой версии к базе любой версии. Если ты делаешь DSN на основе драйвера из ASA7, ты можешь подключаться к любому из ASA серверов за все время жизни ASA. Тоже самое и с драйверами из SA10.Дело было так:
- на компьютере, на котором находятся только поставляемые нами и перечисленные мной выше компоненты ASA 7, я положил базу, сделанную в ASA 10;
- затем в ODBC администраторе создал DSN на этe базу, используя драйвер ASA 7;
- затем при попытке сделать Test Connection в окне ODBC администратора я получил сообщение "specified database is invalid" или что-то в этом роде.

Теперь обьясню в чём был смысл данного теста:
- пользователь работает в Oracle в русской среде и использует спец-символы (none-ASCII code) для обозначения едениц измерения (типа градус и т.п.);
- этот пользователь переносит часть его БД вместе с единицами измерения в ASA 7 БД из Oracle;
- в ASA 7 мы поставляем БД только с Western European collation и charset, поэтом в результате трансфера некоторые единицы измерения выглядят дефектными;
- в ASA 7 нет возможности использовать unicode, только национальные collation и charset;
- в ASA 10 БД мы перешли на использование UTF8BIN и хотели попробовать использовать такую БД для трансфера данных у данного пользователя;
- но загвоздка в том, что в той версии нашего продукта, которую использует данный пользователь, мы не имее права поставлять ни одного DLL или EXE из ASA 10.
Вот поэтому то я и производил такой тест.

Возник вопрос: в связи с контексом вышеописанной проблемы, может ли помочь использование в качестве значения параметра "Charset" в DSN, построенном для target ASA 7 БД (с Western European collation и charset), подходящее для русского языка значение (например "cp855" или "cp866") при трансфере едениц измерения из Oracle source БД в русской среде ("NLS=RUSSIAN_CIS.CLMSWIN1252") ???
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35099107
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаДело было так:
- на компьютере, на котором находятся только поставляемые нами и перечисленные мной выше компоненты ASA 7, я положил базу, сделанную в ASA 10;
- затем в ODBC администраторе создал DSN на этe базу, используя драйвер ASA 7;
- затем при попытке сделать Test Connection в окне ODBC администратора я получил сообщение "specified database is invalid" или что-то в этом роде.Да, ты действительно путаешь понятия подключится к базе и запустить базу :)
Ты пытаешься загрузить в движок ASA7 базу от SA10. Естественно конфликт версий. Если ты пойдешь в командную строку (в cmd то есть) и там дашь команду типа dbeng7 mydb_from_sa10, то в окне сервера увидишь правильную ругань что база слишком новая для этого сервера.

БокаТеперь обьясню в чём был смысл данного теста:ОЙ!
Эту задачу точно надо решать по другому.
У тебя есть база ASA7 в Latin1 кодировке и Oracle в cp1251 (?)
Во первых, проверяешь что именно хранится в оракле (я не спец по ораклу и не подскажу как это сделать). А во вторых проверяешь как данные приходят в прокси-таблицу ASA7. Сделай что-нибудь типа
Код: plaintext
select ASCII(SUBSTR(sometextfield, position_of_degree_symbol, 1 )) from ProxyTable1 where pk=...
Этим ты убедишься корежит линк Oracle->ASA7 твои спец-символы или нет. Если корежит, бери свой dsn к ораклу и ковыряй его.
А когда убедишься что странный символ в ASA7 хранится именно так как пологается, то делаешь следующий шаг - проверяешь линк база->клиентская_программа. Здесь ты уже используешь стандартный ODBC драйвер для ASA7, верно? Вот этому драйверу можно будет при необходимости сказать волшебное слово charset в строке коннекта - это прикажет специальному модулю в odbc-драйвере (кажется это dbtran7.dll, но не уверен) делать автоматический перевод из кодировки сервера, в кодировку клиентской программы (естественно тебе надо знать в какой кодировке клиент работает).


БокаВозник вопрос: в связи с контексом вышеописанной проблемы, может ли помочь использование в качестве значения параметра "Charset" в DSN, построенном для target ASA 7 БД (с Western European collation и charset), подходящее для русского языка значение (например "cp855" или "cp866") при трансфере едениц измерения из Oracle source БД в русской среде ("NLS=RUSSIAN_CIS.CLMSWIN1252") ???У тебя два линка. Oracle->ASA7 и ASA7->клиент.
Charset будет работать только на второй, как я уже говорил - он займется автоматической перекодировкой из кодировки сервера в кодировку клиента. А портится кодировка может на любом из двух, либо сам клиент не может правильно отрисовывать эти символы.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35099160
Бока
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точно известно, что на русско-ориентированном клиент-компьютере спец-символы из Oracle БД на сервере, имеющей unicode charset, смотрятся правильно, но после того как они перекачиваются на этом компьютере в нашу ASA 7 БД с латинским charset, поставленную на этом же русско-ориентированном компьютере, символы из этой ASA 7 БД смотрятся уже дефектными.

Так для правильного трансфера из unicode Oracle БД в латино-ориентированную ASA 7 БД, находящуюся на русско-ориентированном клиент-компьютере в DSN для этой латино-ориентированной ASA 7 БД нужно пробовать значения charset, ориентированные на латинницу, или на кирилицу ???

П.С.: Линки и прокси-таблицы я начал использовать только сейчас для апгрэйда нашего продукта в последнюю его версию с одновременным апгрэйдом, поставляемых нами ASA БД в версию 10.0.
А в той версии нашего продукта, которая используется в описанном проблематическом случае, трансфер производится в PowerBuilder-е путем использования DataStore в двух параллельных транзакциях, одна из которых открыта для исходной Oracle БД, а другая для принимающей ASA 7 БД. Причем коннекция к Oracle осуществляется через native драйвер PowerBuilder-а для Oracle.
Короче ODBC драйвер для Oracle в данном случае не при делах.
...
Рейтинг: 0 / 0
Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
    #35101652
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БокаА в той версии нашего продукта, которая используется в описанном проблематическом случае, трансфер производится в PowerBuilder-е путем использования DataStore в двух параллельных транзакциях, одна из которых открыта для исходной Oracle БД, а другая для принимающей ASA 7 БД. Причем коннекция к Oracle осуществляется через native драйвер PowerBuilder-а для Oracle.
Короче ODBC драйвер для Oracle в данном случае не при делах.ой, ай, уй.... Зачем такие страсти???
Ну ладно. Давай по порядку. Когда программа занимающаяся перекачкой вытягивает данные из Oracle, в какой кодировке она эти данные имеет? Как она подключена к ASA для заливки данных? Тут должен быть указан charset в котором программа перекачки хранит данные в тот промежуток когда она уже вытащила данные из Oracle, но еще не записала в ASA. После сеанса перекачки загляни в базу через dbisql и попробуй вон тот select что я вчера показывал. Узнай точно как именно "покереженный" символ был покорежен. Потом поиграйся с charset на коннекте к ASA в программе перекачки и добейся чтобы этот самый "покореженный" символ корежился правильно.
Потом отдельный клиент читающий данные из ASA - у него тоже можно играться с charset добиваясь чтобы он получал данные в правильной кодировке для экрана...

А еще можно выгружать данные из Oracle в текстовый файл (в тот же csv) прогонять этот файл через конвертор, а потом заливать в ASA. Будет слегка проще контроллировать промежуточный этап по сравнению с PB.
...
Рейтинг: 0 / 0
45 сообщений из 45, показаны все 2 страниц
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Копирование таблиц из БД ASA 7.0 в БД ASA 10.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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