Delphi と MS SQL Server を使用して win32 Windows アプリケーションを開発しています。LAN では正常に動作しますが、SQL Server リモート接続のサポートを追加しようとしています (= この記事で説明されているように、外部 IP でアクセスできる DB を操作します: http://support.microsoft.com/default .aspx?scid=kb;EN-US;914277 )。
基本的に、DB にテーブルがあり、DocumentID、ドキュメントの説明、およびドキュメント パス (のような\\FILESERVER\MyApplicationDocuments\45.zip
) を保持します。
もちろん\\FILESERVER
、これはサーバー用のローカル (LAN) パスですが、クライアント用ではありません (リモート接続のサポートを追加しようとしているため)。
なので\\FILESERVER
、もちろんLANで見えなくてもアクセスできる手段が必要です。
「ダウンロード トリック」に最適な次の T-SQL コード スニペットを見つけました。
BulkColumn を MyFile FROM OPENROWSET(BULK '\FILESERVER\MyApplicationDocuments\45.zip' , SINGLE_BLOB) AS X として選択します。
上記のコードを使用して、クライアントにファイルをダウンロードできます。
しかし、それをアップロードする方法は?新しいファイルを挿入できるだけでなく、既存のファイルを削除または置換するには、「アップロード トリック」が必要です。
誰でも提案できますか?トリックが利用できない場合は、代替案を提案できますか? 拡張ストアド プロシージャや、サーバーからの .net アセンブリの呼び出しのように。