3

私が働いている会社には、SQL Server 2000 バックエンドを使用していた古い Access 2000 アプリケーションがあります。私たちは、バックエンドを新しいサーバー上の SQL Server 2005 データベースに移動する任務を負っていました。残念ながら、挿入または更新を実行しようとしている間、アプリケーションは正しく機能していませんでした。私の調査では、Access 2000 -> SQL 2005 は Microsoft によってサポートされていないという多くのフォーラム投稿が見つかりましたが、それを確認するための Microsoft ドキュメントは見つかりませんでした。

誰かが私をいくつかの公式ドキュメントにリンクできますか、または誰かがこのセットアップを使用して、これが機能するはずであり、私たちの問題が別の場所にあることを確認できますか?

問題があるかどうかはわかりませんが、アプリは ADE にコンパイルされた ADP です。

4

7 に答える 7

2

ODBC リンク テーブルを使用して SQL Server に接続するときに、以前に同様の問題が発生しました。解決策は、テーブルを再リンクし、テーブルに主キーを指定することでした。Access が主キーを認識していない場合、挿入または更新を実行できません。

私は ADP の経験はありませんが、似たようなものである可能性があります。それに関するナレッジベースの記事がここにありますhttp://support.microsoft.com/?scid=kb%3Ben-us%3B235267&x=15&y=13

于 2008-08-19T12:24:55.690 に答える
0

しかし、データベースの互換モードをSQL Server 2000に設定しようとしましたか.

2005 データベースをチェックして、データベースを選択し、[プロパティ] -> [オプション] をクリックすると、データベースは既に 2000 互換モードになっていると表示されます。

于 2008-08-19T12:12:28.727 に答える
0

Access ADP は SQL Server のバージョンと非常に密接に結びついており、MS は、リリースされた 3 つのメジャー バージョン (2000、2002、および 2003) で ADP を修正および破壊するという非常に貧弱な仕事をしました。

コンパイル済みの ADE を使用しようとしている場合は、最初に元の ADP を見つけて、それが機能するかどうかを確認することをお勧めします。ADE を作成する前に、いくつかの作業が必要になる場合があります。

警告: 私は ADP を行っていません。Microsoft は現在、MDB=>ODBC=>SQL Server を支持して ADP を廃止しているため、ADP を行わないことを決定したことをうれしく思います。

于 2008-09-15T22:58:22.837 に答える
0

マクロのVBAをチェックして、それがどのように行われているかを確認してください。おそらく、背後にあるデータベースへの何らかの形式の VB 接続を使用しています。データベースがデータベースにデータを求めて連絡しているという事実が大好きです... :)

于 2008-08-18T19:09:07.827 に答える
0

Access 2000 -> SQL Server 2005 について私が読んだのは、アップサイジング ウィザードがサポートされていないということだけです。

挿入と更新のみが機能しない場合は、権限の問題のようです。接続文字列で使用している SQL Server ログインに、データベースに対する読み取り/書き込み権限があることを確認してください。

この目的で「sa」アカウントを使用することは避けてください。

于 2008-08-18T19:14:53.930 に答える
0

その特定の組み合わせがサポートされているかどうかはわかりませんが、データベースの互換モードを 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/

于 2008-08-18T19:16:29.230 に答える
0

挿入と更新のみが機能しない場合は、権限の問題のようです。接続文字列で使用している SQL Server ログインに、データベースに対する読み取り/書き込み権限があることを確認してください。

この目的で「sa」アカウントを使用することは避けてください。

汎用アプリ アカウントを使用したかったのですが、ストアド プロシージャが存在し、ログインにストアド プロシージャを実行するための明示的なアクセス許可があるにもかかわらず、そのログインはストアド プロシージャを「見つけることができませんでした」(また、そのユーザーとして SQL Management Studio で正常にテストされました)。 . そのログイン「sa」権限を付与するまでは、アプリケーションを介して実際にデータベースにアクセスすることはできませんでした。

データベースの互換モードをSQL Server 2000に設定してみましたか?

これがどのように行われるかはよくわかりません。説明していただけますか?

また、アプリを Access 2003 にアップグレードすると、すべて正常に動作します。残念ながら、当社の IT 部門は全員を Office 2000 から 2003 にアップグレードすることを望んでいないため、これはオプションではありません。

ご協力いただきありがとうございます。

于 2008-08-18T19:34:06.090 に答える