データベースからサーバー上の Excel ファイルにテーブルをエクスポートしてからダウンロードしたいと考えています。以下は、この目的のために開発したコードです。
import flash.net.FileReference;
import flash.net.URLRequest;
public function sqlDownloadExcel():void {
var http:HTTPService = new HTTPService;
var parm:Object = new Object;
var sql:String;
sql = "insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\\inetpub\wwwroot\\myApp\\App_Data\\myExport.xls;', 'SELECT * FROM [Sheet1$]') SELECT * FROM myTable";
parm.sql = sql;
parm.db = "myDatabase";
http.url = "http://mywebsite.com/SQLconnector/sqlconnector.asp?irand="+Math.random();
http.showBusyCursor = true;
http.request = sql;
http.addEventListener(ResultEvent.RESULT, function(e:ResultEvent):void {sqlDownloadExcelResult(e);});
http.addEventListener(FaultEvent.FAULT, mssqlFault);
http.method = "POST";
sqlToken = http.send(parm);
}
public function sqlDownloadExcelResult(event:ResultEvent):void{
var request:URLRequest = new URLRequest("http://mywebsite/myApp/App_Data/myExport.xls");
var fileRef:FileReference = new FileReference();
fileRef.download(request);
}
コードはサーバー上に Excel ファイルを正しく作成しますが、fileRef.download(request) 関数を実行すると、次のエラーが発生します。
エラー #2176: ポップアップ ウィンドウを表示するアクションなど、特定のアクションは、マウスのクリックやボタンの押下など、ユーザーの操作によってのみ呼び出される場合があります。
アドバイスをいただければ幸いです。ありがとうございました