2008-08-18 2 views
2

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

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

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

ответ

0

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

0

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

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

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

0

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

Edit: Для этого выполните следующую 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

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

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

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

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

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

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

Благодарим за помощь.

0

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

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

2

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

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

0

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

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

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

Смежные вопросы