VB.netで書かれたWindowsアプリケーションがあります。それを終えた後、私は複数のPCでプログラムをセットアップします。Microsoft Accessを使用して、すべてのPCのプログラムを別のPCの1つのデータベースに接続したい。また、プログラム内のデータベースへのユーザーのアクセスレベルを制限したい。
どうすればいいですか?どうもありがとう。
Accessは複数のユーザーを処理できますが、3人または4人を超える同時ユーザーを取得すると、MSAccessが適切に拡張されないことに気付くでしょう。アクセスは専門家向けに設計されていますが、企業向けではありません。
Microsoft SQL Server(Expressエディションは無料-最大4GBのスペース)は、多数の同時ユーザー向けに設計されています。
また、プログラム内のデータベースへのユーザーのアクセスレベルを制限したいと思います。
ファイルへのアクセスを制限する場合は、フォルダのアクセス許可を使用できます。個人的には、MS Accessを使用していた古いVB6アプリでは、db.mdbではなくファイルdb.resourcesを呼び出しました。これは、a.resourcesファイルがオンラインでホストされている場合(DotNetNukeを参照)、ダウンロードできないためです。また、ファイルを開くプログラムがわからないためです。
ロールベースのセキュリティが必要な場合は、SQLServerなどのエンタープライズレベルのデータベースが必要です。
Microsoft Accessを使用して、すべてのPCのプログラムを別のPCの1つのデータベースに接続したい。
2台のコンピューターで同じデータベースを共有する方法は次のとおりです。
a。データベースをホストするメインPCを選択します
b。他のユーザーと共有されているフォルダーでデータベースをホストします
c。データベースをホストしていないPCに物理的に移動し、デスクトップにテキストファイルを作成します。
d。ファイル拡張子の名前をから.txt
に変更し.udl
、Enterキーを押します
e。udlファイルをダブルクリックして次の設定を入力し、共有データベースをホストする共有フォルダーに移動します。
f。テスト接続が成功したら、[データリンクのプロパティ]ウィンドウを閉じます。
g。デスクトップでUDLファイルを右クリックし、[プログラムから開く]を選択してメモ帳で開く
h。接続文字列が表示されます。
[oledb]; この行以降はすべてOLEDBinitstring
Provider = Microsoft.ACE.OLEDB.12.0; Data Source = \\ PCName \ c $ \ temp \ Database1.accdb; Persist Security Info = False
私。ネットワーク接続文字列を使用するように2番目のPCを設定します。
Accessは、同じデータベースに接続している2人のユーザーを完全に処理できます。ただし、これはMs-Accessの主な強みではありません。したがって、ユーザーベースを拡大することを計画している場合は、最初からSqlServer Express(またはMySql)から始めることをお勧めします。
ユーザーが同じローカルネットワーク上にいる場合は、このシナリオでasp-netを使用する必要はありません。データベースをインストールするネットワークの場所を識別するために、有効な接続文字列を準備するだけで済みます。もちろん、データベースをホストしているPCは、ネットワークの場所を共有し、データベースへのアクセスを必要とするすべてのユーザーに読み取り/書き込み権限を付与する必要があります。(これは、データベースを共有する場所によっては、最も複雑な部分になる可能性があります)