|
分類:[.NET 全般]
開発環境:Vsiual Studio 2015 C#
初めての質問です。よろしくお願いいたします。
Accessのレポートを呼び出す機能を実装したアプリを2台のPCに入れたところ、 1台では正常にレポートが表示されますが片方はエラーで表示できず困っています。 プログラムの配布方法はClickOnceを使用しています。 ※エラーが出るPCをセーフモード起動するとエラーなくプレビューできます。
レポートはSQL SERVER2008データベースのテーブルをODBCでリンクを張ったものを表示するといったものです。 ODBC接続に必要なユーザーDNS設定も2台ともまったく同じです。
エラー内容 サーバーの実行に失敗しました(HRESULTからの例外:0x80080005(CO_E_SERVER_EXEC_FAILURE))
クライアントPC環境 OS Win7 32bit Access Runtime 2010 同一機種、同一スペック
C#側のプログラム using System; using System.Diagnostics; using System.Runtime.InteropServices; using System.Windows.Forms; using Moi = Microsoft.Office.Interop; ----------------------------------------------------------- private string mdbPath; // .accdbフルパス private string RprtName; // レポートの名前
Moi.Access.Application PrintAccess = null; Process process = Process.Start("MSAccess.exe", mdbPath);
process.WaitForInputIdle(); PrintAccess = (Moi.Access.Application)Marshal.BindToMoniker(mdbPath);
Microsoft.Office.Interop.Access.AcWindowMode.acWindowNormal, System.Reflection.Missing.Value); PrintAccess.DoCmd.OpenReport(RprtName, Moi.Access.AcView.acViewPreview, System.Reflection.Missing.Value, "[ユーザー識別コード]='" + Properties.Settings.Default.SettingId + "'", Moi.Access.AcWindowMode.acWindowNormal, System.Reflection.Missing.Value);
Marshal.ReleaseComObject(PrintAccess); PrintAccess = null;
プログラムが悪いのかそれとも他の何かが影響しているのかいろいろ調べてはいるのですが、エラー内容もネットで調べてみたもののあまり情報がない状況です。
|