0

問題を引き起こす次のセットアップがあります。

  • msaccess 2003 (11.6566.8221) SP2 の MDB または MDE フロントエンド
    -- サーバー共有フォルダーまたは C:\Development から実行
  • Microsoft SQL Server Express Edition with Advanced Services (9.00.5000.00)
  • オペレーティング システム (「サーバー」): Microsoft Windows NT 5.1 (2600) = Windows XP

ファイル DSN から派生した同じリンク テーブル接続を使用して接続している開発マシン (「サーバー」と同じ) で MDB と MDE を実行してデバッグします。

MDB または MDE を別のクライアント (病院内の混合クライアント環境) に渡して実行すると、ハングして、テーブルへの最初の呼び出しで odbc 接続エラーが発生します (これは起動コードの DLookup です)。

コードを停止し、データベース ウィンドウを再表示し、USB ドライブで持ち歩いているファイル DSN を使用してすべてのテーブルを再リンクします (開発マシンと同じ)。

  • 注: クライアントで新しい FileDNS として再作成するファイル DSN の同じ設定 = 成功)
  • すべてのテーブルを参照する ([アクセス テーブル] タブからテーブル ビューで開く) = 機能する
  • すべてのフォームを再度実行する = 動作する
  • システムは正常に動作します

** 今 **

MDB を再度保存し、MDB を閉じ (ACCESS を開いたままにする)、MDB を再度開きます - すべて正常に動作します

Access を完全に閉じて (もう実行されていません)、Access を開き、mdb を開きます -- エラーが発生し、リンクされたテーブルを表示しようとすると、同じエラーが発生します

考えられるヒント: エラー メッセージは通常とは異なります。

            Runtime Error '3151'
            ODBC--connection to 'SqlServerSAH0048645' failed

以下は機能します-「UserValidate」フォームを開くように設定されたスタートアップオプションでファイルを開きます-OnLoadイベントでResetDefaultconnectionsを呼び出します(私が見つけたDNSlessコードを使用して)-すべてのTableDefs.connection文字列を次のようにリセットします:

strConnectionString = "ODBC;DRIVER={SQLServer} ;Description=RAHCC_DB; SERVER=tcp:10.19.54.64,1500; UID=RAHCC_User; PWD=XXXXXXx; APP=MSACCESS; WSID=SAH0034510; DATABASE=RAHCC_DB"
  • リンクされたテーブルごとに新しい tabledef レコードを削除してから追加する
  • フォームを開き続けます ---> すべてが機能しているようです。

しかし..アクセスを閉じて再度開くとすぐに->再び機能しません。

注 - 私は自分が持っているものに制限されています (Sql Server はすべてのクライアントにインストールされていますか) - Sql Server ドライバーを使用した接続に制限されています - Sql Server 認証を使用しています

乾杯、

ジョンHD

4

0 に答える 0