鉴于出口在编程访问/ SQL Server数据(Export view data programma

2019-11-03 11:23发布

我们有一个Access应用程序前端连接到SQL Server 2000数据库。 我们希望能够以编程出口的一些看法,以任何格式,我们可以(理想的Excel,但分隔CSV /标签是罚款)的结果。 到现在为止,我们只是打F11,打开了看法,并创下文件 - >另存为,但我们开始得到的结果有超过16,000的结果,这不能出口。

我想某种服务器端的存储过程,我们可以触发将做到这一点。 我知道,做这个sp_makewebtask过程,但它需要在服务器上的管理权限,原因很明显,我们不能把那个给大家。

有任何想法吗?

Answer 1:

你可能不能够给每个人的管理权限,但也许你可以:

  1. 创建一个特殊的用户,例如“WebTaskUser”,具有权限从所需视图读取并执行该sp_makewebtask存储过程。 你会被给予权限一个用户不给大家。

  2. 然后创建一个包装存储过程(如下图),让你的用户去执行它,而它包含的代码来执行特定的预定义的电话给sp_makewebtask过程中,每次浏览一次,只授予执行权限为单一sp_makewebtask过程中,一个单个用户帐户 - 不是所有的管理权限被授予只只执行一个帐户:-)。

  3. 测试和优化存储过程根据自己的喜好从SSMS,访问,VBA,或什么最适合你

  4. 当你快乐与PROC,授出任何进一步的必要权限到用户或用户角色,这样他们就可以执行它。

`

--Example code to create user, and add permissions I might be able to add later

USE [some_database_x];

CREATE PROCEDURE EXPORT_VIEWS_TO_EXCEL
@TARGET_FOLDER NVARCHAR(100) DEFAULT 'C:\temp';
@FILE_TAG NVARCHAR(20) DEFAULT '';
@VIEWNAME NVARCHAR(100);
WITH EXECUTE AS 'WebTaskUser'
AS
BEGIN
IF @VIEWNAME IS NOT NULL
BEGIN
     DECLARE @myOUTPUTFILE NVARCHAR(100);
     SET @myOUTPUTFILE = @TARGET_FOLDER + '\' + @VIEWNAME + COALESCE(@FILE_TAG,'');
     DECLARE @myQUERY NVARCHAR(150);
     IF @VIEWNAME = 'mydb.dbo.firstview'
     BEGIN
          SET @myQUERY = 'Select * from mydb.dbo.firstview',
     END
     IF @VIEWNAME = 'mydb.dbo.secondview'
     BEGIN
          SET @myQUERY = 'Select * from mydb.dbo.secondview'
     END
     EXECUTE sp_makewebtask
     @outputfile = @OUTPUTFILE,
     @query = @myQUERY,
     @colheaders = 1, @FixedFont = 0, @lastupdated = 0, @resultstitle='My Title'
END

RETURN 0;
END
GO

`



Answer 2:

如果你想要做的访问,你可以查看链接作为一个链接表,然后使用TransferSpreadsheet方法的一切,你可以说,“表”导出为CSV文件

编辑:

当你想要做服务器端检查了这一点

http://www.mssqltips.com/tip.asp?tip=1633

我以前用这个和它的工作就好了



Answer 3:

你可能想看看SSIS - 它允许创建服务器端软件包将数据导出在服务器端。

另一种方法是用鼠标右键单击您的数据库,并通过数据导出向导运行(这是使用下面SSIS)。

另一个选择是创建命令行实用程序(SQLCMD)将数据导出到平面文件。



Answer 4:

你已经使用VB或者宏?

  1. 创建本地表看起来像视图结构
  2. 创建删除表的内容查询
  3. 创建插入视图的内容对本地表查询
  4. 使用“分析与Excel”功能或的一个内置的导出功能
  5. 创建宏(或VBA)运行前两个qrys,出口与一个单一的点击

我只是26K行尝试过了,它的工作没有问题

HTH



文章来源: Export view data programmatically in Access/SQL Server