喫茶XRAYトップページ

[スレッド全体
]

[5463] Re10:Windows7とJETデータベースの新規作成に関して返信 削除
2011/10/25 (火) 16:44:57 Sara
▼ happy camperさん
▼ Mr.XRAYさん
 
一応、Access2010での動作画面のScreenShotを乗せます。

[5464] Re11:Windows7とJETデータベースの新規作成に関して返信 削除
2011/10/25 (火) 20:48:55 Mr.XRAY
おおっ,Saraさん,ありがとうございます.
う〜む.Access2010ではダメと言ってしまったのは,
ウソこいてしまっったということになるのでしょうか.

だとしても,嬉しいです.こういう報告.


[5466] Re12:Windows7とJETデータベースの新規作成に関して返信 削除
2011/10/26 (水) 08:49:14 happy camper
▼みなさま

検証していただきありがとうございます。
仕事に翻弄されて??まだ解決に至っていません。。
私の環境でUACをoffにしてテストすればいいことなのですが。。。
Windows7で動いているのが家のPCだけなので、なかなかたどり着けません(家に??)。
ある程度、状況が把握できた時点でご報告したいと思います。
のろまで申し訳ありません。

ではでは

[5467] Re13:Windows7とJETデータベースの新規作成に関して返信 削除
2011/10/26 (水) 10:53:03 Mr.XRAY
▼ happy camperさん

> ある程度、状況が把握できた時点でご報告したいと思います。

まっ,気軽に.


[5473] Re14:Windows7とJETデータベースの新規作成に関して返信 削除
2011/10/30 (日) 00:58:47 happy camper
こんばんは。

少しですが、テストしてみました。
検証した結果を要約すると、

(I)UACがオンの状態で

 (A)usersの書き込み権限のない(フルコントロールでない)HHD領域にmdbファイルを作成しようとすると、

  (1)管理者の場合、
    (1-a)C:\(起動disk内?)であれば、C:\Users\<ユーザー名>\AppData\Local\VirtualStore\に作成され、
    (1-b)USB接続HDDであれば、アクセス許可が'読み取りと実行','読み取り'のファイルが作成されます。

  (2)非管理者の場合、
   mdbを作成することは不可能。以下のアラーとが出てファイルは作成されません。
   'ファイル'G:\TEST.mdb'を開くことができませんでした。ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。'

 (B)usersの書き込み権限のある(フルコントロールの)HHD領域にmdbファイルを作成しようとすると、
  非管理者/管理者ともに、mdbは作成され、Accessで開くことが可能。
  作成されたファイルの、アクセス許可は'フルコントロール'。

(II)UACがオフの状態で
  (1)管理者の場合
  (2)非管理者の場合
  ともに、どのdisk領域でも、mdbは作成され、Accessで開くことが可能。
  ただし、作成されたアクセス許可は、(I)UACがオンの状態のときと同じで、HHD領域の書き込み権限の有無で決まる。


(1-b)で作成されたmdbファイルは、Access2010で開くことは不可能で、下記のアラーとが表示されます。
'このデータベースの保存に使用されたAccessのバージョンを確認できません。このデータベースは読み取り専用になっているため、この問題を修正することはできません。[OK]をクリックし、データベースを閉じてからデータベースのバックアップコピーを作成してください。その後に、読み取り/書き込みのアクセス許可でデータベースを開いてください。'

(1-b)で、UACをオフにしてみると(再起動後)、Access2010で開くことが可能になります。
しかし、再度UACをオンにすると、Access2010で開くことはできますが、読み取り専用とアラーとが表示されます。

(II)UACがオフの状態でusersの書き込み権限のない(フルコントロールでない)HHD領域に作成されたファイルは、UACをオフに変更すると、
(UACをオフの状態で一度Accessで開いていれば)、開くことはできますが、読み取り専用とアラーとが表示されます。
(UACをオフの状態で一度もAccessで開いていなければ) Access2010で開くことは不可能で、下記のアラーとが表示されます。
'このデータベースの保存に使用されたAccessのバージョンを確認できません。このデータベースは読み取り専用になっているため、この問題を修正することはできません。[OK]をクリックし、データベースを閉じてからデータベースのバックアップコピーを作成してください。その後に、読み取り/書き込みのアクセス許可でデータベースを開いてください。'

ユーザーにDiskのフルコントロール権限を与えると、(B)の状態になり問題なくmdbは作成され、Accessで開くことが可能。

上記の結果から、UACの有無にかかわりなく、ファイルを作ろうとした領域におけるユーザーのアクセス許可の状態に依存しているようで、
UACはこれに基づいた制限をかけていることが確認できました。
Access2010は、以前のバージョンで作成されたものである場合、データを読み込む前にファイルに何か修正(変更)を加えるようで、書き込み権限がないとこればできないので開けないことになってしまうようです。接続文字列に、'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=<データベース>;'を与えているところが怪しく思えますが。。
そういえば、どうしてWindows7 SP1 64bitでこの文字列で動くのか前から疑問でしたが。。
まだ検証していませんが'Jet OLEDB:Engine Type=5;'を追加したらいいのでしょうか。。

まだまだいろいろ検証しなければならないことは、わかっているのですが
明日のお仕事に差し障るのでこのくらいで。。
とりあえずご報告まで。

ここは間違っているなどありましたらご指摘ください。
ではでは。


[5474] Re15:Windows7とJETデータベースの新規作成に関して返信 削除
2011/10/30 (日) 01:00:12 happy camper
読みにくくて申し訳ありません。

[5475] Re16:Windows7とJETデータベースの新規作成に関して返信 削除
2011/10/30 (日) 11:03:09 Mr.XRAY
▼ happy camperさん

いろいろテスト,お疲れ様です.
結構大変だったのではないかと思います.

> 読みにくくて申し訳ありません。

ちょっと.行の列が長いのを除いては,読みやすいです.
私など,「何回」か「難解」と書かれていますからね.
私的には質問者の文章の方が「難解」ですが...
https://forums.codegear.com/message.jspa?messageID=405194#405194
「何回」?「何階」?「難解」? 南海キャンディーズっと...

UAC関係の私のポリシーから,

まず,UACをオフで運用することは考えられません.
これは,データベース,ネットワーク関係にトラブルが発生することが
あるようです.ネタ元のURLを失念してしまったので,サイトの記事には
ありません.
また,IEの保護モードも無効になります.UACはセキュリティ関係の設定
ですので,ある意味当然かも知れません.

UACのオン・オフを切り替える運用も考えられません.
なぜなら,この設定を有効にするにはコンピュータの再起動を伴うからです.

釈迦に説法になってしまいますが,
データの書き込みは,iniファイル,拡張子が.dat等は,他のユーザが作成
したものは,操作はできません.

で,「(I)UACがオンの状態で」の結果ですが,「普通」だと思います.
少なくとも私はUACをそのように理解しています.
これは,Windows 2000以降に推奨された動作なのですが,Vistaになって
強制されるようになったわけです.
問題は,完全とも言える程UAC関係ではないでしょうか.
データベースもセキュリティに関係しますから,誰が作成したかも重要なのでは
ないかと思われます.
データベースは,管理者権限のあるユーザ以外は作成できなかったと思います.
Paradoxはどうなのかな?

とりあえず,ざっと読んだところでのところの感想です.
また後で読み直してみます.



[5476] Vista以降のUAC返信 削除
2011/10/30 (日) 11:24:18 Mr.XRAY
今回の話題とは直接の関係はありませんが,
最近,Windows 7にDelphi 7をインストールする記事を書きました.

実は,2009年3月に,VistaにDelpi 7をインストールして使用していました.
Vistaが登場してからUAC関係がネット上でかなり話題になりました.
そこで,Vistaの導入は様子見とし,ようやく2008年の年末近くになって
導入しました.(Vistaの発売は2007年?)

最近また,VistaやWindows 7にDelphi 6や7をインストール,あるいは
運用でのトラブルの発言を読みました.そこで再度やってみたわけです.
アプリの動作の不具合は,アンチウィルス等,常駐アプリ等も関係することが
あります.
このことから,本当は確信がなかったのですが,
おそらく,UAC関係の理解が不十分な方がどこかで記事を書いたのが元々
のネタではないかという確信に変わっています.
DLLやOCXの登録にも要注意ですね.

UAC関係は本当に面倒です.マイクロソフトの記事を読んでも「難解」です.

[Windows Vista以降のOSでDelphi]
前は[Windows Vista以降での利用]というタイトルでしたが,変えました
http://mrxray.on.coocan.jp/Delphi/Others/WindowsVista.htm

この記事では,データベース関係はBDE(Paradox)だけですが,
例えば,Oracleのマニュアルには説明があります.


[5477] Re:Vista以降のUAC返信 削除
2011/10/30 (日) 19:20:01 happy camper
▼ Mr.XRAYさん

無知な私に付き合っていただき感謝しております。
実は一連のテストを行ってUACのやっていること(の一部)が妙に実感できたので、
拙劣ながら書き込んでしまいました。
UACからのメッセージは、火遊びは自分の領地でしなさいということのように思えます。
利便性を考慮してか、フラッシュメモリーは自由に落書きできるみたいです。
Mr.XRAYさんが最初に言われたように、diskをフルコントロール権限下におくことが、
現実的な方法化と考えています。
(たくさんデータが詰まったDiskのアクセス許可を変更するのって時間が馬鹿にならないような。。)
でも。。いったんデスクトップ上に新規作成して、
すぐにコピーで移動させちゃうのはだめかなあと。。
また懲りずに試してみたいと思います。。

今日の朝から明日の晩までお仕事です。
すごく貧乏ではありませんよ。ちょっとだけです。

ではでは

[5478] Re2:Vista以降のUAC返信 削除
2011/10/31 (月) 00:52:02 Mr.XRAY
▼ happy camperさん

> でも。。いったんデスクトップ上に新規作成して、
> すぐにコピーで移動させちゃうのはだめかなあと。。


そうですねぇ.基本的にはマイクロソフトの方針に従うのが,やっぱり
いいのかなぁ,とは思っています.

> また懲りずに試してみたいと思います。。

「百聞は一見にしかず.百見は一触にしかず」
と言いますから,とにかく,もしかして他の人からバカバカしいと思われて
しまうかも知れない,と思われるようなことでも何でもやってみることが重要
なのではなかいかと,個人的には思っています.

うまくいかなければ,「あぁ,この方法はやっぱりダメなんだ」
という確実な知識ができると思います.
でも,その得た知識を忘れてしまうこともあるんですよねぇ(笑)


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82