Передача файлов посредством соединения SQL Server

Я имею текстовый файл, находящийся на клиентской машине, и хочу переместить ее в сервер базы данных (MS SQL 2008), но у меня нет доступа к серверу кроме через клиент SQL Server. Я могу передать этот файл серверу с помощью соединения SQL-клиента?

1
задан marc_s 20 May 2010 в 04:56
поделиться

3 ответа

Да, вы можете это сделать, но не через стандартный SQL. Вам нужно будет написать расширенную хранимую процедуру, которая позволит вам подключаться через соединение клиента sql и получать доступ к файловой системе сервера. Но вам придется решить множество проблем с правами пользователей.

2
ответ дан 3 September 2019 в 00:26
поделиться

Вы хотите поместить его в базу данных или в файловую систему? В первом случае рассмотрите текст или varchar (max) .

В последнем случае используйте SQL-инъекцию и xp_cmdshell по мере необходимости. :) Собственно, в этом случае стоит спросить у админа более подходящий механизм передачи.

0
ответ дан 3 September 2019 в 00:26
поделиться

Если вы хотите сохранить файл в базе данных, то это несложно.

Если вы хотите сохранить файл в файловой системе, используйте хранимую процедуру CLR, помеченную как имеющую EXTERNAL_ACCESS. Вы можете передать процедуре параметр BLOB, а процедура, в свою очередь, может записать содержимое BLOB на диск, используя обычные FileStream операции. Если файл очень большой, то необходимо уделить особое внимание предотвращению раздувания памяти.

0
ответ дан 3 September 2019 в 00:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: