2012-03-09 19 views
1

ms sqlデータベースのWebフロントエンドを構築しています。目標はアクセス97から離れていくことです。基本的には、Webフロントエンドからデータをデータベースに挿入することができます。 Access 97内でレコードが挿入されているデータベーステーブルを表示できます。Webフロントエンドはデータベース内のレコードを書き込み、更新、および削除しました。Access 97 ODBC呼び出しエラー文字列データ、右切り捨て

問題は、Webフロントエンドから追加されたAccessで行を編集しようとしたときにのみ、ODBC呼び出しエラーのStringデータ、Access 97での切り捨てエラーが発生することです。エラーは、SQLステートメントを介してms SQLデータベースに直接追加されたAccess 97のレコードを編集しようとすると発生します。

ms sqlデータベースに挿入されているデータには何も問題はありません。私はアクセスがどのように働くか分かりません。私は、Accessとms sql db間でSQLトランザクションを表示するためにプロファイルを実行しようとしましたが、なぜアクセス更新が失敗しているのかわかりませんでした。

Accessの行の更新と、Accessアプリケーションが使用しているms SQLデータベースの直接更新との違いは何ですか。

編集:私は問題を解決しました。テーブルに、バイナリの長さ50の列がありました。これは実際には使用されないので、挿入するたびにこの列に0が挿入されます。この挿入値nullを変更すると、問題が修正されました。これは、ドライバの変換をチェックされている場合

enter image description here

:アクセスが長さ50

+0

「アクセス時に行を編集しようとすると」と言うと、どのようにデータにアクセスしていますか?これはリンクされたテーブルを経由していますが、直接開いているテーブルデータを持っているのですか、それともAccessフォームに表示されていますか? – Dan

+0

リンクテーブルの意味がわかりませんが、Accessでテーブルを開きます。私はフォームの行を編集していません。 – user1152226

答えて

0

チェックアクセスはMS SQLデータベースに接続するために使用しているODBC接続文字列のバイナリ値を扱うことができませんでした数千のインディケータ(例えば、1000の代わりに1,000)を含むことができるローカルの地域フォーマットに変換する。これにより、返されるデータの長さが長くなり、使用されるバッファーを吹き飛ばすことができます。

修正するには、オプションにチェックマークが付いていないことを確認します。

+0

それは動作しませんでした。これは、すべてのODBC構成でチェックされていません。また、私はmsのSQL 2000とアクセス97、SQL Server 2008ではない使用しています – user1152226

関連する問題