powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access + MS SQL Server
16 сообщений из 16, страница 1 из 1
Access + MS SQL Server
    #32141748
Andrey Mamitko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте,

Существует «Приложение» созданное в MS Access.
Появилась необходимость перетащить данные на SQL Server но все запросы и формочки оставить в Access’е.

Выполнил «Преобразование в SQL Server» и обнаружил что часть запросов работать перестала (тут, подозреваю, что чего-то при преобразовании типов намудрил), а часть стала работать _крайне_ (так и не длждался :) медленно (когда было локально было все в порядке). Связывалось по ODBC, как по ADO –- не нашел.
Как все будет работать после преобразования в ADP проверить не могу т.к. надо VBA код править.

А теперь, собственно, вопрос:
Реально ли в такой связке заставить выполнятся ЛЮБЫ запросы (естественно, только те, которые работают в локальном варианте)? Под любыми понимаются и потом созданные (в том числе с помощью «Визуального конструктора запросов»)
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32141752
Хам трамвайный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переписать все придется
не получится так просто рыбку съесть
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32141759
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя (т.е. у Акеса) формат запросов Ansi SQL89. SQL - Ansi SQL92. Есть много отличий. Например, в символах подстановки. Вместо* -?.
Ты бы попробовал сначала тока создать таблицы в сиквеле, прилинковать их к акесу (mdb). Тогда бы все бы работало, но не по технологии клиент-сервер. Акес тащил бы всю таблицу, обрабатывал бы ее у себя на существующих запросах.
Затем потихоньку перетаскивал бы запросы и прочую логику на SQL.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32141802
Некто
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Andrey Mamitko
> Связывалось по ODBC, как по ADO –- не нашел.

Создайте новый проект в Access и посмотрите как подключается. :-)

2Senin Viktor
> Тогда бы все бы работало, но не по технологии клиент-сервер. Акес тащил бы всю таблицу, обрабатывал бы ее у себя на существующих запросах.

Ошибаетесь Вы. Все select, update , delete будут выполняться на сервере. На клиенте будут выполняться запросы, не поддерживаемые сервером ( типа crosstab ). Все чудесно видно в Profiler.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32141855
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Ошибаетесь Вы. Все select, update , delete будут выполняться на сервере. На клиенте будут выполняться запросы, не поддерживаемые сервером ( типа crosstab ). Все чудесно видно в Profiler.

Ну да. Только не все есть так хорошо. Слишком много ограничений. Выход только один - делать полноценное клиент-сервеное приложение на adp, например. Прилинковка нужна как некий переходный этап.

Вот из хелпа к акесу :

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

1 Объединение таблиц из различных удаленных источников данных. (Следует отметить, что если в объединение включены локальная таблица или запрос, содержащие несколько записей, и удаленная таблица с большим количеством записей, объединяемые поля которой индексированы, возвращаются только записи, соответствующие локальной таблице или запросу, что значительно повышает быстродействие запроса.)

2 Объединения, основанные на запросе с предикатом DISTINCT или предложением GROUP BY.

3 Внешние объединения, синтаксис которых не поддерживается данным сервером.

4 Предикаты DISTINCT, содержащие операции, которые не могут быть выполнены на удаленном сервере.

5 Оператор LIKE, используемый в текстовых полях и полях MЕМО (может не поддерживаться некоторыми серверами).

6 Аргументы многоуровневой инструкции GROUP BY в отчетах с несколькими уровнями группировки.

7 Аргументы первой инструкции GROUP BY в запросе с предикатом DISTINCT или предложением GROUP BY.

8 Перекрестные запросы, которые включают несколько статистических функций или предложение ORDER BY, определяемое пользователем.

9 Предикаты TOP n или TOP n PERCENT.

10 Определяемые пользователем функции, операторы, а также функции, не поддерживаемые данным сервером.

11 Сложные комбинации операций INNER JOIN, LEFT JOIN или RIGHT JOIN в подчиненных запросах.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32141902
Andrey Mamitko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Senin Viktor:
> Ты бы попробовал сначала тока создать таблицы в сиквеле, прилинковать
> их к акесу (mdb). Тогда бы все бы работало, но не по технологии клиент-
> сервер. Акес тащил бы всю таблицу, обрабатывал бы ее у себя
> насуществующих запросах.
Видимо именно это и происходит. Причем, как я понимаю, когда таблицы перетаскивается индексов в них нет и запросы безбожно тормозят именно поэтому.
Или причина в другом и ее можно устранить?

Попробовал создать ADP. Старые запросы не работают по причине некоторого несоответсвия языков (например нет функции CDate и First).
Выходит на то, что:
> В число операций запросов (определяемых вызывающими их командами
> SQL), которые выполняются на локальном уровне, входят следующие.
> ....
> 10 Определяемые пользователем функции, операторы, а также функции, не
> поддерживаемые данным сервером.

Или я опять же чего-то не так понял?
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32141904
Некто
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Senin Viktor\r
>Ну да. Только не все есть так хорошо. Слишком много ограничений...\r
При доступе к внешним данным ядро базы данных Jet обрабатывает данные на локальном уровне только в тех случаях, когда невозможно выполнить их обработку на сервере внешней базы данных.
\r
\r
В случае с MS SQL Server, судя по Profiler, ограничений несколько меньше. Хотя они таки есть. :-)\r
\r
Прилинковка нужна как некий переходный этап. \r
\r
Лучше без нее обойтись. IMHO.\r
\r
Offtop: Я там примерчик просил. /topic/28881
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32141933
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Andrey Mamitko
>Попробовал создать ADP. Старые запросы не работают по причине некоторого несоответсвия языков (например нет функции CDate и First).
Или я опять же чего-то не так понял?

Речь идет о mdb c прилинкованными таблицами.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32142483
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО, первая мысль, которая должна возникнуть - это "ради чего?". Ради чего вы все переносите на SQL Server? Не ради же собственно самого переноса? Если вы хотите получить какие-то плюсы от этого, то приложение придется серьезно переделать, как верно заметил Хам трамвайный. Методом параллельного переноса вы врядли получите какие-то серьезные плюсы. Скорее всего, лишь скорость резко снизится.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32142661
Dia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dia
Гость
Подскажите, есть ли реальный смысл использовать SQL-server если предполагается работа с БД на одном компьютере, ну от силы плюс 1-2?
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32142665
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос не такой простой, как кажется. Если объемы данных очень большие, если работают с ними непрерывно, если требуется высокая надежность данных, архивирование без прерывания работы пользователей и т.д. и т.п. то имеет смысл переходить на SQL Server, даже если число пользователей не превышает трех. Если же эти требования не являются существенными, то я бы переходить на SQL Server не стал.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32142688
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще одно большое преимущество SQL - возможность усовершенствовать приложение и одновременно работать с базой. Да и нельзя спать спокойно, если в любой момент может залететь файл mdb или любой пользователь может случайно удалить пол-таблицы даных.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32142870
OldPferd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, есть ли реальный смысл использовать SQL-server если предполагается работа с БД на одном компьютере, ну от силы плюс 1-2?
На одном - не имеет
На 2-3 - скорее всего не имеет

Еще одно большое преимущество SQL - возможность усовершенствовать приложение и одновременно работать с базой. Да и нельзя спать спокойно, если в любой момент может залететь файл mdb или любой пользователь может случайно удалить пол-таблицы даных.

А что в Access мешает совершенствовать отдельно приложение?
Для восстановления mdb можно сделать отдельный ярлык
(или даже режим в программе)
Летели же индексы ntx,cdx,..., а спали обычно спокойно

А если любой пользователь может случайно удалить пол-таблицы - зачем же такие программы писать?
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32142905
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>А что в Access мешает совершенствовать отдельно приложение? Для этого постоянно надо привязывать даные с другой базы, т.е. пользоваться связаными таблицами. Еще пол-беды если надо изменить только приложение, а если данные - надо править файл который может использоваться. Я не говорю, что задача не решаема, но в SQL все это намного проще.

>Летели же индексы ntx,cdx А если залетят даные? При том они могут залететь не только по вине приложения.

>А если любой пользователь может случайно удалить пол-таблицы...

Пол-таблицы может и не удалит, но может что-то случайно и намутить. В SQL базу можно восстановить состоянием на ЛЮБОЕ время.

Достаточно вспомнить древний FAT с его потерянными а иногда и перекрещиваемися кластерамы.

Мое личное мнение, если более 1-го компа - используйте SQL, а солдат не мечтающий стать генералом никогда ним и не станет. Спросите у любого кто перешел на технологию клиент-сервер, согласен ли он перейти обратно - к хорошему привыкают быстро.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32143215
Dia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Dia
Гость
Ну что же, убедили. Я, как уже многим здесь известно, как раз хочу стать генералом. Буду ставить сервер.

Еще вопрос очень для меня важный.
Существует MSQLServer и множество удаленных пользователей (не в сети), которые реально могут себе позволить только Access (mdb).

1. Большая ли проблема слить необходимый объем данных с сервера в mdb файл для последующей отправки получившегося продукта диском в Тьмутаракань?
2. Сориентруйте, пожалуйста, на ключевые слова (понятия) по которым я могу найти информацию о структуре Access-приложения работающего по принципу: базы данных (mdb) расположены отдельно от приложения (в смысле рядом но в другом файле) если это вообще возможно.
...
Рейтинг: 0 / 0
Access + MS SQL Server
    #32143261
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>...которые реально могут себе позволить только Access (mdb).
В принцепе MSDE (урезанный SQL) идет прямо с офисом. Но что касается Проекта, то действительно лучше mdb, так как всвязи с масовостью обяснять каждому клиенту как проинсталировать MSDE будет хлопотно. Но в Центре - только клиент-серверная технология.
Хотя перекачкой даных не занимался, но думаю в этом нет никаких проблем.

>Сориентруйте, пожалуйста, на ключевые слова
В меню Accessa
Сервис > Служебные программы > Разделение баз данных
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Access + MS SQL Server
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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