質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.53%
Entity Framework

Entity Frameworkは、.NET Framework 3.5より追加されたデータアクセス技術。正式名称は「ADO.NET Entity Framework」です。データベースエンジンに依存しておらず、データプロバイダの変更のみで様々なデータベースに対応できます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

WinUI3

WinUI3は、Windowsデスクトップアプリ開発向けのネイティブUIフレームワークのバージョン3です。Windows10以降で採用されたFluentデザインに対応。直観的で使いやすい機能を備えています。

Q&A

0回答

265閲覧

アプリ実行中にデータベースファイルの移動

junyasu0124

総合スコア38

Entity Framework

Entity Frameworkは、.NET Framework 3.5より追加されたデータアクセス技術。正式名称は「ADO.NET Entity Framework」です。データベースエンジンに依存しておらず、データプロバイダの変更のみで様々なデータベースに対応できます。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

WinUI3

WinUI3は、Windowsデスクトップアプリ開発向けのネイティブUIフレームワークのバージョン3です。Windows10以降で採用されたFluentデザインに対応。直観的で使いやすい機能を備えています。

0グッド

0クリップ

投稿2023/11/23 04:09

実現したいこと・前提

NugetでEntityFrameworkCore8.0.0をインストールして、WinUI3のアプリを作っています
アプリ画面内でデータベースを移動できるようにしたいのですが、

C#

1File.Move("アプリのデータを保存しているデータベースのパス", "移動先");

をアプリ起動中に実行すると
System.IO.IOException: 'The process cannot access the file because it is being used by another process.
というエラーが発生します。
データベースとの接続を切るみたいなことをして、ファイルを移動できるようにする方法はないでしょうか。

補足情報

ファイルの移動をしようとするときにデータベースにアクセスするような処理は行っていないです。また、エクスプローラーでもデータベースのファイルを移動することはできないです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedas

2023/11/23 12:05

通常は、データベースを一旦停止しないとデータベースファイルの移動はできないと思います。データベースを停止しなくても移動できるという情報をどこかでご覧になったりしたのでしょうか。
ikedas

2023/11/23 12:49

> The process cannot access the file because it is being used by another process. なんでデータベースはアンロックされていません。なので特にWindowsの場合はOSレベルで移動が不可能になってもおかしくないと思います。 なぜそんなこと (アプリ実行中にそのアプリが参照しているDBを移動する) を実施したいのか、事情を知りたいです。____
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.53%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問