■69594 / ) |
Re[4]: ネットワーク越しのショートカットEXEの起動について |
□投稿者/ 魔界の仮面弁士 (496回)-(2014/01/10(Fri) 15:23:24)
|
■No69588 (G さん) に返信 > ネットワーク管理者等に確認したところ 実行ユーザは、Adminの権限があるので問題ないそうです。 ネットワーク権限があることは分かりましたが、それはもしかして、 管理者権限が無いと動かないようなアプリになっている、ということなのでしょうか。
Vista 以降の OS では、UAC の働きにより、 ・%SystemRoot% … C:\ ・%ProgramFiles% … C:\Program Files ・HKEY_LOCAL_MACHINE\Software などへの書き込みが仮想化されており、実際とは異なる場所が操作されたりします。 こうした場所への書き込み(iniなど)があると、たとえ管理者ユーザーで あったとしても影響があります。
EXE を右クリックして、管理者モードにて実行した場合に、 動作に差が生じるかも確認した方が良いかもしれません。
>> ・exe自体をclientに持ってきた場合(動作環境A)、処理は正常に行われる。 > 上記処理もエラーが発生しました。 環境1 では、ローカル実行できるけれども、ネットワーク上の EXE からは実行できない状態。 環境2 では、EXE がローカルでもネットワーク上でも、いずれも正常動作していない、ということですね?
> また、Oracleへの接続もありました。 何の話でしょうか? Access ではなく、突然 Oracle という言葉が出てきましたが…。
Oracle Database も併用しているとしたら、それはどうやって接続していますか? DAO の ODBCDirect なのか、パススルークエリーなのか、あるいは ODBC リンクテーブルなのか、 それとも DAO とは無関係に、別途 oo4o や ADO や RDO などで接続しているのか。
環境 2が Win7x64 で、Oracle Client あるいは ODBC Dirver も 64bit 版しか入っていなかった場合、 64bit Access からは繋がりますが、VB6 や 32bit Access からは繋がらない、ということはありますね。
>> エラー内容:エラーです。処理を中断します(ユーザメッセージ) このエラーが、不正データ検出などのための、意図的な論理エラーなのか、 あるいは VB ランタイムが発しているものなのか、DAO/JET が発しているものなのか、 Oracle 関連のエラーなのかはわかりますか?
発生元が分からないのであれば、まずはそれが、何のエラーなのかを特定する作業が必要でしょう。 いわゆる「Err.Source」「Err.Number」「Err.Description」の調査です。
VB6 なり VBScript なりで、mdb を開くようなコードを書いて、 それを実行してみた場合にも、何らかのエラーになりますか?
実験コードで動くのであれば、実際には、mdb は直接関係ないという可能性もあります。 (ini ファイルやレジストリの設定ミスなど)
> Dim dblocal As DAO.Database > Set dblocal = Workspaces(0).OpenDatabase(ローカルパス指定) DBEngine の初期化はせず、暗黙の Global object を操作するタイプのコードですね。 OpenDatabase の第2引数以降は未指定なのですね?
> dblocal.OpenRecordse("HOGE",1) 『OpenRecordse「t」』の間違いとは思いますが、 何故にマジックナンバー 1 が…。dbOpenTable を使いましょう。(^_^;
> ここで 3011/3078エラーが発生していると思うのです。 「3011/3078エラー」とは何のことですか? エラー番号まで分かっていたのでしょうか。 そういう重要な情報は最初に出してほしいです…。
手持ちの Access 2010 で、 Debug.Print AccessError(3011) Debug.Print AccessError(3078) を確認してみました。
3011 の方は、 ・The Microsoft Jet database engine could not find the object <name>. Make sure the object exists and that you spell its name and the path name correctly. ・オブジェクト '<オブジェクト名>' が見つかりませんでした。オブジェクトが存在していること、名前やパス名が正しいことを確認してください。'<オブジェクト名>' がローカル オブジェクトでない場合は、ネットワークの接続を確認するか、サーバー管理者に問い合わせてください。
3078 の方は、 ・The Microsoft Jet database engine cannot find the input table or query <name>. Make sure it exists and that its name is spelled correctly. ・入力テーブルまたはクエリ '<クエリ名>' が見つかりませんでした。そのテーブルやクエリが存在していること、または名前が正しいことを確認してください。 ですね。
誤って、別の mdb を開いているという可能性はありませんか?
|
|