Access 2000 подключается к SQL Server 2005

В компании, в которой я работаю, есть старое приложение Access 2000, которое использовало серверную часть SQL Server 2000. Нам было поручено перенести серверную часть в базу данных SQL Server 2005 на новый сервер. К сожалению, приложение не работало правильно при попытке сделать какие-либо вставки или обновления. Мое исследование нашло много сообщений на форуме, что Microsoft Access 2000 -> SQL 2005 не поддерживается Microsoft, но я не могу найти документацию Microsoft, чтобы проверить это.

Может кто-нибудь связать меня с какой-нибудь официальной документацией, или кто-то использовал эту настройку и может подтвердить, что она должна работать, и наши проблемы лежат где-то еще?

Не уверен, что это важно, но приложение представляет собой ADP, скомпилированный в ADE.

18.08.2008 19:00:52
7 ОТВЕТОВ

Я бы сказал, проверьте VBA в макросах, чтобы увидеть, как он это делает. Вероятно, используется какая-то форма подключения VB к базе данных в задней части. Мне нравится тот факт, что база данных связывается с базой данных для ее данных ... :)

0
18.08.2008 19:09:07

Все, что я прочитал о Access 2000 -> SQL Server 2005, - это то, что мастер увеличения не поддерживается.

Если только вставки и обновления не работают, это звучит как проблема с разрешениями. Убедитесь, что имя входа сервера sql, которое вы используете в строке подключения, имеет разрешение на чтение / запись в вашей базе данных.

Пожалуйста, избегайте использования учетной записи "sa" для этой цели!

0
18.08.2008 19:14:53

Я не уверен в том, что конкретная комбинация поддерживается, но вы пытались установить режим совместимости для базы данных на SQL Server 2000. Возможно, это решит ваши проблемы.

Изменить: Для этого запустите следующий SQL:

EXEC sp_dbcmptlevel Name_of_your_database, 80;

Подробнее здесь: http://blog.sqlauthority.com/2007/05/29/sql-server-2005-change-database-compatible-level-backward-compatibility/

0
18.08.2008 20:23:49

Если только вставки и обновления не работают, это звучит как проблема с разрешениями. Убедитесь, что имя входа сервера sql, которое вы используете в строке подключения, имеет разрешение на чтение / запись в вашей базе данных.

Пожалуйста, избегайте использования учетной записи "sa" для этой цели!

Мы хотели использовать общую учетную запись приложений, но этот логин «не мог найти» ни одну из хранимых процедур, даже если они существовали, и у логина были явные разрешения на их выполнение (и он также был успешно протестирован как пользователь в SQL Management Studio) , Лишь после того, как мы предоставили привилегии для входа в систему «sa», мы вообще могли получить доступ к базе данных через приложение.

но вы пытались установить режим совместимости базы данных на SQL Server 2000.

Я не совсем уверен, как это сделать. Могли бы вы объяснить?

Также следует отметить, что если мы обновим приложение до Access 2003, все будет работать нормально. К сожалению, наш ИТ-отдел не хочет обновлять всех с Office 2000 до 2003, так что это не вариант.

Спасибо за вашу помощь.

0
18.08.2008 19:34:06

но вы пытались установить режим совместимости базы данных на SQL Server 2000.

Я только что проверил базу данных 2005 года, выбрал базу данных и щелкнул «Свойства» -> «Параметры», и там говорится, что БД уже находится в режиме совместимости с 2000 годом.

0
19.08.2008 12:12:28

У меня была похожая проблема раньше при использовании связанных таблиц ODBC для подключения к серверу Sql. Решением было связать таблицы и указать первичный ключ для таблицы. Если Access не знает первичный ключ, он не может выполнять вставки или обновления.

У меня нет никакого опыта работы с ADP, но это может быть похоже, вот статья базы знаний об этом здесь http://support.microsoft.com/?scid=kb%3Ben-us%3B235267&x=15&y=13

2
19.08.2008 12:24:55

Access ADP очень тесно связаны с версиями SQL Server, и MS проделала очень плохую работу по исправлению и взлому ADP в трех основных версиях, которые были выпущены (2000, 2002 и 2003).

Если вы пытаетесь использовать скомпилированный ADE, я бы посоветовал сначала найти оригинальный ADP и посмотреть, сможете ли вы заставить его работать. Возможно, вам придется поработать там перед созданием ADE.

Предостережение: я не использую ADP, и я рад, что принял решение не делать этого, поскольку Microsoft в настоящее время осуждает их в пользу MDB => ODBC => SQL Server.

0
10.03.2009 04:14:20