powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нужно перевести БД из Access97 в SQL server2000
32 сообщений из 32, показаны все 2 страниц
Нужно перевести БД из Access97 в SQL server2000
    #32209252
K_Николай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень срочная работа. Ни разу с SQL server дел не имел.
Нужно, чтобы программная часть осталась клиентом в формате access, а данные и запросы перешли в серверную.
Посоветуйте хотя бы с чего начать и как это делается.
Заранее благодарен
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209273
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Ни разу с SQL server дел не имел

Тогда сложновато будет, хотя какая база...

А с чего начать - это в справку Акеса.
Главные проблемы - запросы, которые большинство прийдется переносить ручками из акеса в сиквел. Если сиквела не знаешь - на мучаешься, хотя синтаксиси jet-sql и похож на t-sql но есть отличия.
Потом надо будет переносить и логику работы программы на сервер (триггера, хранмые процедуры) и т.п.

==
Совет: если MS SQL не знаешь - не лезь. Подучись, почитай- наворотишь - будет работаь медленей чем с акесом.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209282
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если база содержит много кода и специфических форм - то первым этапом могло бы стать
1 экспортирование данных на сервер
2 подлинковка их через ODBC к MDB

при этом варианте можно обеспечить непрерывность работы с базой и потихоньку переписывать на ADP
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209320
K_Николай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как я понял файл для подлинковки находится в каталоге ...Microsoft SQL Server\MSSQL, но их там 2, с каким расширением брать
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209345
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>как я понял файл для подлинковки находится в каталоге ...Microsoft SQL Server\MSSQL, но их там 2, с каким расширением брать

Никакие из этих файлов ты не линкуешь.
Ты линкуешься к конткретной базе на контретном сервере
Нажми Связь с таблицами ODBC - все станет на места
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209378
Doro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В связи с подлинковкой через ODBC, запрос в mdb содержащий например iif корректно отработает если он оперирует таблицами с MS SQL ?
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209382
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Doro

Да.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209402
Doro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виктор, тогда получается что сама обработка проходит в адресном пространстве Access, а от MS SQL берутся только данные. Год назад мы подключили через ODBC базу Progress и вот запросы с Jet синтаксисом не работали; из Progress нам ответили что это особенности реализации их ODBC драйвера. Из этого я сделал вывод что mdb запрос все таки передается как есть, а ODBC драйвер его старается преобразовать для корректного выполнения в адресном пространстве сервера БД (в данном случае MS SQL). Какая точка зрения верна?
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209420
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>сама обработка проходит в адресном пространстве Access, а от MS SQL берутся только данные

Именно так. К тому же сиквел мало, чем помогает в оптимизации.

>я сделал вывод что mdb запрос все таки передается как есть, а ODBC драйвер его старается преобразовать для корректного выполнения в адресном пространстве сервера БД (в данном случае MS SQL).

ODBC драйвер его преобразовавает в синтаксис сервера, в случае не возможности использовать специфичных конструкций локальной базы (функции и особенности JET) - беруться c сервера только данные, а далее происходит локальная работа по выборке с импользованиме разных фич Jet'a.

Например, если дать запрос на выборку 1 записи из 10 миллионов, но в этом запросе,например, будет использован IIF (внутрення функция Jet) - то (возможно) на клиента приедут все 10 миллионов записей, а потом будет отобрана 1.
слово "возможно" - я написал потому, что не уверен как Jet распорядится индексами в каждом конкретном случае.

==
Если я где-то был не прав, All поправит?
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209442
Doro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, а можно форсировать обработку на стороне Access при работе с таблицами подключенными по ODBC?
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209499
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Doro
>Интересно, а можно форсировать обработку на стороне Access

Не понятно что спросил - обработка и так будет на стороне акеса. Файл-сервер, итить его мать
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209505
Doro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок, то есть если это не Pass through запрос то обработка будет по умолчанию проходить на строне Access.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209588
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше перепиши все запросы с IIF

у меня такие запросы с IIF выполнялись по 5 минут (когда базу перевела на
MS SQL из А97)
и вообще большинство запросов переделала в запросы к серверу
так работает быстро, несмотря на то что тело запроса меняю динам-ки
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209763
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно, чтобы программная часть осталась клиентом в формате access

ADP тоже в формате акса

при переходе к sql все равно придется перепахивать все и запросы и код VBA
поэтому лучше сразу перходить на ADP.
а для клиента внешний вид останется прежним.

переносить отдельно базовую часть на sql а клиента оставлять на mdb - лишняя трата времени.
это тоже самое что жиге поставить мотор от мерса - ездить может будет быстрее а по сути таже жига.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32209874
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в самом деле подлинкованная MDB база - это для обеспечения работоспособности базы в период перехода к ADP

переход к ADP кроме всех прочих прелестей -прекрасная возможность избавиться от накопившегося мусора.

лучше писать все заново, периодически копируя фрагменты старого приложения.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32210121
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во первых - это двойная работа
сначала делаешь то, что заранее знаешь надо переделать
во вторых - изучение того, заранее знаешь не потребуется в будущем.

первод на ADP дает возможномсть переписать неудачные места. удачные находки можно копировать.
вполлне возможно что и сами таблицы лучше изменить, перстроить.

лучше потратить время на переносс данных из старой структуры в новую.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32210150
Doro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А есть типовой способ переписывания iif в запросе (isnull, isnumeric такие функции знаю - BOL читал и пробовал), может есть какие то еще методы?
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32210154
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не нада IIf тащить , нада от них избавляться
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32210397
K_Николай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще вопрос переношу запросы из Access в SQL server они переносятся как таблицы, что я не так делаю? Нужно, чтобы они переносились как запросы
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32210435
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глобально - запросы надо заменять на хранимые процедуры.

ну а самое главное достань Гетца. там много полезного.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32210436
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще вопрос переношу запросы из Access в SQL server они переносятся как таблицы, что я не так делаю? Нужно, чтобы они переносились как запросы
В MSSQL не существует обьекта "запрос". Рискну предположить, что ты создаешь представления. Если запрос с параметром, то нужна процедура или функция. Можно формировать запрос на клиенте.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32220150
ЖТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Николай скоропостижно ушел в отпуск! Теперь я за него, а проблема та же.
Прочитал я все что вы все советуете и понял, что серьезно плаваю в понятиях и определениях. Ситуация такая, таблицы на SQL Server2000 мы перекинули, это оказалось несложно.
Но в программе (Access97) около 250 стационарных запросов (закладка Запросы) и много (около 50) запросов формируются программно. Мне придется все эти запросы (помимо исправления синтаксиса) переносить на сервер? Каким образом это сделать (по возможности опишите подробно)?

Как я понял, возможно на начальном этапе временно оставить часть запросов в Аccess, так это или нет? Как это скажется на работе программы, кроме увеличения времени обработки отчетов? Синтаксис в запросах и программе (при обращении к таблицам) в такой ситуации менять нужно или нет?

Какую литературу лучше почитать для начинающих в SQL Server2000? Есть ли в инете справочная информация по SQL Server2000, подскажите где?

Всем спасибо за участие и советы!!!
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32220239
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГЕТЦ !!!
ГЕТЦ!!!

2 тома.


все запросы преобразовать в ХП.

но для начала лучше почитать Гетца.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32221629
ЖТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А что за Гетц? Как книга полностью называется?
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32223072
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необязательно все запросы сразу переписывать в хранимые процедуры, это будет уже второй этап - оптимизация.
В запросах нельзя будет использовать FIRST и LAST
Наименование большинства функций будет несколько иным
Вместо iif(...) будет case when ... then ... else ... end
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32223592
Doro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Cat2:
тогда можно попробовать сделать конвертор запросов примерно такой - напускаешь его на mdb а он генерит скрипт для создания ХП по всем запросамаходящимся в базе Access?
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32223605
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Doro
>напускаешь его на mdb а он генерит скрипт для создания

такой конвертор уже есть с версии акеса 2.0: UpSizin Tools или Мастер мастер преобразования в формат SQL. Тока он тебе не все преобразует :(
На сайте http://www.msaccess.ru вроде была утилита для конвертации запросов из акеса в T-SQL - сам не пробовал- но посмотри - вдруг сгодиться.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32223651
Doro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor:
Елы палы - не могу достучаться до Access.ru, если бы можно было - попробовал бы эту утилиту, общий подход iif -> case when... end понимаю но проверить хочу именно автоматическую генерилку. Потому как руками получилось переделать - но только 1 запрос.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32232533
ЖТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Продолжаем разговор.
Я перегнал все данные в SQL Server. Удалил таблицы из mdb-программы, установил связь с новой БД. Все как не странно работает, но один запросик вешает всю программу. В нем несколько таблиц из основной БД и много из БД-справочников (тоде сконвертированной под SQL Server). При удалении из этого запроса любых 6-ти таблиц-справочников все работает нормально. До перегонки таблиц и справочников в SQL Server этот запрос работал идеально. В чем может быть проблема? Существуют ли какие-то ограничения на количество таблиц в запросе? Как корректно подключить еще одну копию mdb-программы с другого ПК (через сеть), если он работает под win98 и SQL Server на нем не установлен?
Всем спасибо за ответы!
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32236028
ЖТ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, что правда со мной поговорить никто не хочет!?
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32236071
amel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты базу MS SQL через ODBC присоединяешь к клиенту (Access)? Если да то нужне доступ этого user-а к NT Server и к MS SQL ..... и все дела. Соответсвенно ПК должны быть в одной локальной сети или придется в LMHOSTS - прописывать IP и имя ПК.
Удачи.
...
Рейтинг: 0 / 0
Нужно перевести БД из Access97 в SQL server2000
    #32236099
am (a_mitin)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за Гетц? Как книга полностью называется?
Рекомендуемая литература по MsAccess и VBA
В нем несколько таблиц из основной БД и много из БД-справочников (тоде сконвертированной под SQL Server)
Я так понял что у тебя 2 базы данных на серваке? Если так, то пока не поздно сливай всё в одну иначе будешь иметь большой гимор при работе с прилинкованными таблицами Access.
Почему у тебя запрос всё вешает? Да потому что таблицы которые джойнятся прилинкованы через разные DSN, а значит Access думает что необходим гетерогенный запрос и он его начинает выполнять примерно так:
- 1 вариант - скачивает содержимое всех таблиц на локал и джойнит сам на месте
- 2 вариант - скачивает одну из таблиц и потом бежит по ней и по одной записи вытаскивает нужные данные из других.
В любом случае это наааамного тормознее чем если бы они были прилинкованы через 1 DSN - тогда бы Access просто отправил запрос на сервер целиком (ну конечно если смог бы :), например он не сможет этого сделать если в запросе используются функции Access и т.д.)
...
Рейтинг: 0 / 0
32 сообщений из 32, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нужно перевести БД из Access97 в SQL server2000
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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