を返し、そのデータベースへのパスは、このです:C#File.existsが、私は、データベースを開くプログラムを持っている偽
private static string strDefaultDB2 = @"C:\Users\" + Environment.UserName + @"\OneDrive\TIME FILE\MyName\TimeFile.accdb";
私はこの1つを試してみましたすべてのコンピュータが1以外罰金それにアクセスすることができました、それまた、OneDriveへのアクセス権を持っているが、私はファイルが存在しないコードを実行したときに、私はこのようなものであるコードによって生成されたパスを入力すると...:エクスプローラで
C:\Users\UserName\OneDrive\TIME FILE\MyName\TimeFile.accdb
を、それがデータベースを開きます直ちに。私はまた、管理者としてそれを実行してみました...それはこの1台のマシン上のデータベースを見つけることができない理由はわからないが、それは何も
を変更していないこれが実行されるコードです:
if (!System.IO.File.Exists(doesFileExist))
{
Polaris.Polaris.log("The Path " + doesFileExist + " Does Not Exist!");
runWindowDB();
}
私はそれが例外をスローしたファイルに名前の変更をしようとする場合:
「[パス]ファイルが見つかりませんでした」そして、私は、データベースをオープンしようとした場合:「[パス]は有効なパスではありません」このパスにはすべてのPCに空白があり、唯一変更されているのはユーザー名。エクスプローラがファイルを開き、パスが正しいことを確認します。
アイデア?
おかげ
あなたはどんな例外とinnerexceptionを得ていますか?ユーザの名前が変更され、ユーザ名がフォルダ名と同じではないのですか?プログラムを実行しているユーザーにファイルを開く権限がありますか?どのようなコードが正確に投げていますか?パスに文字列をどのように作成するのか、それをどのように開くのか、投稿するのか、正確な例外を投稿するのか(そのすべて、完全なメッセージ、例外のタイプなど)を表示するだけです。 –
ファイルに「隠された」属性がある可能性はありますか? –
パスを使用する必要があります。パスに空白がある場合は結合します。 – chris579