我在客户端机器上有一个文本文件,想将它移动到数据库服务器(MS SQL 2008),但除了通过 SQL Server 客户端外,我没有任何访问服务器的权限。我可以使用 SQL 客户端连接将此文件传输到服务器吗?
问问题
2805 次
3 回答
2
是的,您可以做到,但不能通过标准 SQL。您将不得不编写一个扩展存储过程,该过程将允许您通过 sql 客户端连接进行连接并访问服务器文件系统。但是您将不得不解决很多用户权限问题。
于 2010-05-20T04:00:13.190 回答
0
你想把它放在数据库中,还是放在文件系统中?如果是前者,请考虑text或varchar(max)。
如果是后者,请根据需要使用 SQL 注入和xp_cmdshell。:) 实际上,在这种情况下,您应该向管理员询问更合适的传输机制。
于 2010-05-20T04:00:05.110 回答
0
如果您想将文件保存到数据库中,那么就很容易了。
如果要保存到文件系统中,请使用标记为具有 EXTERNAL_ACCESS 的 CLR 存储过程。您可以将 BLOB 参数传递给程序,然后程序可以使用普通的FileStream操作将 BLOB 内容写入磁盘。如果文件非常大,则需要特别注意防止内存膨胀。
于 2010-05-20T04:05:19.467 回答