ftpサーバーにあるms-accessデータベースでSQLクエリを実行し、c#で記述されたアプリケーションでそのクエリの結果のみを取得したいと思います。出来ますか?
3 に答える
いいえ。JET は、標準の SMB またはローカルの場所を介してファイルを開くことができる必要があります。
おそらく最初に何らかのツールを使用して、FTP の場所を SMB タイプの共有にマップできるかどうかを確認してください。または、ファイルをローカルにコピーします。
編集:可能な回避策(@baconsahの回答に基づく)
FTP サーバーにファイルを書き込むことで、実際に @baconsah の設計を改善できます。次に、書き込みを取得し、その時点でクエリを実行して結果を FTP 出力で利用できるようにするプロセスをリモート サーバー上に用意します。レイテンシは失われますが、複雑さが増します。
FTPコマンドを使用するか、FTPサーバーマシンでプログラム(quote
またはliteral
VBSスクリプト)を実行できます。
あなたの「解決策」は次のように機能する可能性があります。
SQLコマンドテキストをファイルとしてFTPサーバーに転送します
ms-accessDBでSQLコマンドを実行するリモートコマンドを実行します
手順2の結果をローカルマシンに転送します
前に述べたように、このシナリオは信頼性が低く、低速で、安全ではなく、エラー処理が必要です...
恐ろしい代替策は、アクセスデータベースにリモートシステムで時間指定のジョブベースでクエリを実行させ、その結果をそのftpディレクトリ内のファイルに出力することです。