1

現在、必要なすべてを実行するJavaアプリケーションがあり、その制限は「動作する必要があるローカルマシンにのみ存在する」です。Access データベースをリモート サーバーに配置し、リモート サーバーに Java アプリをインストールして、接続文字列を使用してデータベースに接続します。jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=D:\\DATA\\DPPI\\DATA\\DPPI\\DPPIPR01.mdb;

Access データベースに接続し、それらを使用してすべてのビジネス ロジックを実行します。

拡張機能 (実行予定):

  1. アプリケーションをオンラインにする - 大きな問題ではありません。
  2. データベースをリモートで接続する - それが唯一の懸念事項です。

アプリケーションをオンラインにする場合、Access データベースはネットワーク (IP や Web アドレスのようなもの) を介して接続する必要があります。

問題:

しかし、このConnect to Accessデータベースをリモートで通過した後、私の要件を完了できないようです。

データベースをオンライン Web ホスティング サーバーにアップロードし、そこからのみデータベースにアクセスできる方法はありますか? はいの場合、Access データベースはドライブ文字とすべてを含む完全修飾名を指定して接続するため、接続をどのように行う必要がありますか。

しかし、リモートで mdb データベースに接続できるようにするには、どうすればよいでしょうか?

ADO ソリューション:

しかし、リンク
http://webcheatsheet.com/ASP/access_connection_strings.phpをたどると、リモート Access データベース接続を実行できるようです。

ADO のソリューションは次のようなものです。

connectionString="Provider=MS Remote; Remote Server=http://your_remote_server_ip;" &_ "リモート プロバイダー=Microsoft.Jet.OLEDB.4.0; データ ソース=c:\your_database_name.mdb"

Access データベースに接続する方法について少し混乱しています。


頭の中にもう 1 つの疑問があります。Type-1ドライバーを使用しています。Type-4 ドライバーはリモート接続をサポートする必要がありますか?

4

4 に答える 4

3

アプリケーションがサーバー側アプリケーション (Web アプリケーションなど) で、サーバーの OS が Windows の場合、理論的には Access データベースを使用できます。このシナリオでは、Access データベースはアプリケーションに対してローカルです。接続文字列では、サーバーのファイル システム内の Access データベースへのパスを使用できます。

ただし、Access はデスクトップ データベースであり、サーバー データベースとして使用するようには作られていないことに注意してください。これにより、パフォーマンスが低下し、システムがクラッシュする可能性があります。また、このユース ケースではライセンスの問題が発生する可能性があります。

そのため、サーバー アプリケーションで Access を使用できる場合でも、MySQL、MS SQL Server などの実際のサーバー データベースを使用することを強くお勧めします。Apache Derby や H2 などの組み込みデータベースでさえ、より適しています。

アプリケーションがファット クライアントのようにクライアント側で実行される場合、Access を使用する唯一の機会は、それをネットワーク ファイルシステムに配置することです。これにより、すべてのクライアントから可視になります。ただし、これは LAN 内でのみ機能します。ネットワーク ファイル システムに配置できない場合は、実サーバー データベースを使用する必要があります。

于 2013-05-27T13:55:30.660 に答える
0

これは、トラフィックをマークし、サーバーからのトラフィックをキューに入れることで実行できます---リモート サイトへ ---(QOS..サービス品質) .....2 つのサイトは VPN 方式で接続されます待ち時間を改善し、セキュリティを追加する不要なホップを減らすため、サーバーとリモートサイトは論理的に同じネットワーク (LAN) 上にあるかのように動作します。

よろしく、

アリ・レーハン

于 2014-04-06T20:29:19.823 に答える
0

Provider=MS Remote新規開発には (RDS) を使用しないでください。これはMSDNの記事からの引用です

Microsoft OLE DB Remoting Provider (ADO サービス プロバイダー)

重要

Windows 8 および Windows Server 2012 以降、RDS サーバー コンポーネントは Windows オペレーティング システムに含まれなくなりました (詳細については、Windows 8 および Windows Server 2012 の互換性クックブックを参照してください)。RDS クライアント コンポーネントは、Windows の将来のバージョンでは削除される予定です。新しい開発作業でこの機能を使用することは避け、現在この機能を使用しているアプリケーションを変更することを計画してください。RDS を使用するアプリケーションは、WCF Data Service に移行する必要があります。

他の人が示唆しているように、この特定のアプリケーションに別のバックエンド データベースを使用することを真剣に検討する必要があります。

于 2013-05-27T14:19:26.480 に答える
0

Microsoft Access データベースを格納しているサーバーに常駐する別の Java アプリケーションを呼び出すことができる場合はどうなりますか? アプリケーションを 2 つに分割することが解決策になるかどうか教えてください
。 1. オンライン Java アプリケーションは 2 つのことを実行します。 Microsoft Access データベースを収容するサーバー上で実行されます。
2. Microsoft Access データベースを収容するサーバーにインストールされた Java アプリケーションは、DTO (データ転送オブジェクト) またはコレクション内のある種のオブジェクトを接続して返すことのみを担当します。

したがって、サーバーサイド プログラムが DB との通信を処理し、クライアント アプリケーションがサーバー アプリと通信することを期待します。

この方法で進めるべきかどうか教えてください。

于 2013-05-31T03:59:29.930 に答える