我必须查询表并在文本文件中打印输出。我有一个普通的用户登录,对数据库有dbo权限。我不能使用bcp或不能给予任何特殊权限。任何人都可以帮我这个吗?
答案 0 :(得分:1)
您无法在服务器上或其他地方仅使用数据库中的权限创建文本文件。 BCP(SQLCLR,xp_cmdshell,sp_OACreate,OPENROWSET等等有几种替代方案,但Windows比让任何数据库更安全一点用户写入文件系统。想象一下,如果任何针对您的数据库运行查询的人都可以写入文件系统? (Some background here。)
以下是一些描述其他人如何做到这一点的文章,以及随后的一些讨论:
http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/how-to-copy-data-append-data-into-files-
对于CLR方法,还有一个名为FileSystemHelper的编码复合项目,它比重新发明轮子更有用。
答案 1 :(得分:0)
如果您手动运行查询,SSMS可以选择将结果输出到文件(CTL-Shift-F)