Published on

July 12, 2000

Копирование текстовых или изображений в SQL Server с помощью утилиты Textcopy.exe

В этой статье мы рассмотрим, как скопировать одно текстовое или изображение в SQL Server с использованием утилиты textcopy.exe. Эта утилита находится в каталоге, содержащем стандартные файлы EXE SQL Server (по умолчанию C:MssqlBinn для SQL Server 6.5 и C:Mssql7Binn для SQL Server 7.0).

Утилита textcopy не документирована в SQL Server Books Online, но вы можете получить описание, набрав “textcopy /?” в командной строке. Утилита позволяет копировать указанное текстовое или изображение ‘столбец’ одной строки (указанной в “условии where”) указанной ‘таблицы’.

Если направление установлено на IN (/I), данные из указанного ‘файла’ копируются в SQL Server, заменяя существующее текстовое или изображение. С другой стороны, если направление установлено на OUT (/O), текстовое или изображение копируется из SQL Server в указанный ‘файл’, заменяя любой существующий файл.

Вот пример команды для использования утилиты textcopy:

TEXTCOPY /S [sqlserver] /U [login] /P [password] /D [database] /T [table] /C [column] /W "where clause" /F [file] /I|/O /K [chunksize] /Z /?

Давайте рассмотрим хранимую процедуру, которая упрощает использование утилиты textcopy:

CREATE PROCEDURE sp_textcopy (
  @srvname     varchar (30),
  @login       varchar (30),
  @password    varchar (30),
  @dbname      varchar (30),
  @tbname      varchar (30),
  @colname     varchar (30),
  @filename    varchar (30),
  @whereclause varchar (40),
  @direction   char(1)
)
AS
DECLARE @exec_str varchar (255)
SELECT @exec_str =
         'textcopy /S ' + @srvname +
         ' /U ' + @login +
         ' /P ' + @password +
         ' /D ' + @dbname +
         ' /T ' + @tbname +
         ' /C ' + @colname +
         ' /W "' + @whereclause +
         '" /F ' + @filename +
         ' /' + @direction
EXEC master..xp_cmdshell @exec_str

Используя эту хранимую процедуру, вы можете легко скопировать изображение в базу данных SQL Server. Например, чтобы скопировать изображение из файла “picture.bmp” в таблицу “pub_info” базы данных “pubs”, где “pub_id” равен ‘0736’, вы можете выполнить следующую команду:

sp_textcopy @srvname = 'ИмяСервера',
            @login = 'Логин',
            @password = 'Пароль',
            @dbname = 'pubs',
            @tbname = 'pub_info',
            @colname = 'logo',
            @filename = 'c:picture.bmp',
            @whereclause = " WHERE pub_id='0736' ",
            @direction = 'I'

Используя утилиту textcopy.exe и предоставленную хранимую процедуру, вы можете легко копировать текстовые или изображения в SQL Server, упрощая процесс управления и передачи данных.

Спасибо за прочтение этой статьи. Следите за новыми советами и трюками по SQL Server!

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.