Access 2000 подключается к SQL Server 2005 - PullRequest
3 голосов
/ 18 августа 2008

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

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

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

Ответы [ 7 ]

2 голосов
/ 19 августа 2008

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

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

0 голосов
/ 16 сентября 2008

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

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

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

0 голосов
/ 19 августа 2008

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

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

0 голосов
/ 18 августа 2008

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

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

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

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

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

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

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

0 голосов
/ 18 августа 2008

Я не уверен в том, что эта конкретная комбинация поддерживается, но вы пытались установить режим совместимости базы данных для 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 августа 2008

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

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

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

0 голосов
/ 18 августа 2008

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

...