Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 使用Flex/Actionscript从SQL Server检索和下载海量数据的最佳实践是什么_Sql Server 2008_Actionscript 3_Apache Flex_Actionscript_Windows Server 2008 - Fatal编程技术网

Sql server 2008 使用Flex/Actionscript从SQL Server检索和下载海量数据的最佳实践是什么

Sql server 2008 使用Flex/Actionscript从SQL Server检索和下载海量数据的最佳实践是什么,sql-server-2008,actionscript-3,apache-flex,actionscript,windows-server-2008,Sql Server 2008,Actionscript 3,Apache Flex,Actionscript,Windows Server 2008,我有一个基于Flex web的应用程序,它从SQL Server检索数据并将其显示在数据网格中。我使用FileReference将数据从数据网格导出到一个CSV文件中,这对于少量数据来说很好。我需要另一种方法直接检索和下载海量数据,而不在数据网格中显示。我想这一定是一种使用SQLServer(比如使用OPENROWSET方法)在服务器上导出数据,然后下载导出文件的方法。但到目前为止,我还不能实现它。我也不确定这是否是完成这项任务的最佳方法。我想知道是否有人能帮我找到解决办法。我真的很感激 我使用

我有一个基于Flex web的应用程序,它从SQL Server检索数据并将其显示在数据网格中。我使用FileReference将数据从数据网格导出到一个CSV文件中,这对于少量数据来说很好。我需要另一种方法直接检索和下载海量数据,而不在数据网格中显示。我想这一定是一种使用SQLServer(比如使用OPENROWSET方法)在服务器上导出数据,然后下载导出文件的方法。但到目前为止,我还不能实现它。我也不确定这是否是完成这项任务的最佳方法。我想知道是否有人能帮我找到解决办法。我真的很感激


我使用IIS 7作为web服务器和web服务连接到SQL server

您可以使用FileReference.download(URLRequest)直接从远程服务器下载文件。文件本身应该在服务器端创建。例如,如果您使用ASP.NET,您可以创建一个服务(WCF、Fluorf等),从数据库获取数据,将其放入生成的文件中,并将文件的url返回到Flex客户端,然后Flex客户端可以使用FileReference.download。

因为这一切都将在服务器端发生(您将生成一个大的csv文件并下载该文件),没有涉及Flex(除了
navigateUrl()
-ing到下载页面)。您最好向我们提供一些有关您正在使用的服务器端技术的信息,并相应地标记您的问题,以便合适的人可以进来帮助您。谢谢您的评论。我已更新了我的标记,以显示我正在使用Windows Server 2008。然而,我可能不确定我是否正确理解了你的观点。我仍然认为我的问题是关于Flex的,因为我需要在Flex开发环境中开发代码。是吗?你的意思是在flex前端和数据库之间没有web服务器吗?哦,是的。我使用IIS7作为web服务器,使用Flex连接器连接到SQL server。我已经更新了这个问题。很抱歉。FileReference.download是否将文件加载到内存中?还是直接流式传输到磁盘?在前一种情况下,它对大文件不是一个好的解决方案。文档中没有这方面的内容。但我可以猜测它会将数据直接流式传输到磁盘,否则这将非常不合逻辑。在我的第一个解决方案中,我使用FileReference.save方法从数据网格导出数据。但我从未使用过FileReference.download方法。我要测试一下。但首先,我需要创建用于生成Excel文件的web服务。您有ASP.NET中此类服务的示例吗?我想我可以在SQLServer中为它创建一个存储过程,但是如果我可以创建一个web服务,那就更好了。谢谢。如果您想要快速数据传输,您可以使用基于AMF的解决方案编写web服务,例如FluorineFx(免费)或WebOrb(付费),或者您可以使用WCF编写基于SOAP的web服务(如果传输大量数据,这些服务可能会非常慢)。基于AMF的web服务可以通过RemoteObject访问,而基于WCF的web服务可以通过服务向导(在Flash Builder中)轻松导入。在SQL server中使用OPENROWSET函数导出数据。我在flex中开发了3个导出和下载数据的函数:第一个函数将excel模板复制到一个文件夹中,用于导出数据。OPENROWSET需要此文件。第二个函数在第一个函数之后运行。它向SQLServer发送一个使用OPENROWSET导出数据的请求。最后,第三个函数使用navigateToURL函数下载文件。谢谢你们两位。