C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.85012 の関連記事表示

<< 0 >>
■85012  Access Runtimeほぼ同一環境PCでエラー
□投稿者/ わかめぱんつ -(2017/09/05(Tue) 12:20:36)

    分類:[.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;

    プログラムが悪いのかそれとも他の何かが影響しているのかいろいろ調べてはいるのですが、エラー内容もネットで調べてみたもののあまり情報がない状況です。


親記事 /過去ログ146より / 関連記事表示
削除チェック/

■85637  Re[1]: Access Runtimeほぼ同一環境PCでエラー
□投稿者/ わかめぱんつ -(2017/11/11(Sat) 12:27:07)
    No85012 (わかめぱんつ さん) に返信
    > 開発環境: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;
    >
    > プログラムが悪いのかそれとも他の何かが影響しているのかいろいろ調べてはいるのですが、エラー内容もネットで調べてみたもののあまり情報がない状況です。
    >
    >
    >
記事No.85012 のレス / END /過去ログ146より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -