2016-04-28 21 views
0

最近、私はAccessデータベースにアクセスするシングルユーザーVB6アプリケーションの世話をするように求められました。データベースは、exeファイルと同じディレクトリにあります。今では、複数のユーザー(約5人以上)がこのアプリケーションに同時にアクセスする必要があります。したがって、データベースをネットワーク上の場所に置き、アプリケーションがさまざまなユーザーコンソールからアクセスできるように、アプリケーション内の接続コードを変更する必要がありますか?私は、データベースがユーザーの手の届かない場所から完全に離れていて、データベースがどこにどこにあるのかわからないようにしたいと思います。これを行う方法?アクセスとVB6アプリケーション - シングルユーザーからマルチユーザー

+0

を気にする追加項目のカップル - コードを読み取って、データベースへの書き込み方法に応じて、あなたが必要とする競合の問題に遭遇するかもしれません例えば、テーブルや他のオブジェクトが長時間書き込み可能(ロック)状態で開いている場合、他のユーザーが読み書きしようとするとエラーが発生します。また、ユーザーがmdbデータベースに対してWANリモートの場合、タイミング、タイムアウト、競合の問題が発生する可能性が高くなります。アクセスmdbを使用すると、LAN(WANではない)にアクセスできるようになります。 – MarkL

+0

データベースはLANのままです。 WANアクセスはありません。 –

答えて

1

共有名の末尾に '$'記号を入れて、サーバーに隠し共有を置き、ユーザーに必要な権限を提供することをお勧めします。 と接続文字列であなたはとしてあなたのパスを指定します。

strServeur = "IP of your server\name_of_your_shared_folder$" 
strDriver = "{SQL Server}" 'Driver pour l'accès à la database 
Set oConn = New ADODB.Connection 
oConn.Open "Driver=" & strDriver & ";" & _ 
"Server=" & strServeur & ";" & _ 
"Database=" & strDataBase & ";" & _ 
"Uid=" & paramCon.userBd & ";" & _ 
"Pwd=" & paramCon.passBd & ";" 
+0

暗黙のセキュリティ?それは物事をシンプルにするかもしれないが、あなたは中間層を追加するほうがよいでしょう。あるいは、人は退去します:Jetの代わりにクライアント/サーバーのDBMSを使用してください(Accessのインスタンスを自動化しない限り、あなたは "MS Access"を使用していません。 – Bob77

関連する問題