SQL-сервер BULK INSERT может читать из именованного канала / первым прибыл, первым обслужен?

Для BULK INSERT / BCP действительно ли возможно читать из именованного канала, стиля FIFO?

Таким образом, вместо того, чтобы читать из реального текстового файла, может BULK INSERT / BCP быть сделанным читать из именованного канала, который находится на конце записи другого процесса?

Например:

  1. создайте именованный канал
  2. разархивируйте файл к именованному каналу
  3. читайте из именованного канала с BCP или BULK INSERT

или:

  1. создайте 4 именованных канала
  2. разделите 1 файл на 4 потока, пишущий каждый поток в отдельный именованный канал
  3. считайте из 4 именованных каналов в 4 таблицы w/BCP или BULK INSERT

Самым близким, который я нашел, был этот товарищ (сайт, теперь недостижимый), кому удалось записать в именованный канал w/BCP с его собственной утилитой и использованием как так:

start /MIN ZipPipe authors_pipe authors.txt.gz 9
bcp  pubs..authors out  \\.\pipe\authors_pipe -T -n

Но он не мог заставить реверс работать.

Таким образом, прежде чем я препятствую по поручению дурака, я задаюсь вопросом, существенно ли возможно считать из именованного канала w/BULK INSERT или BCP. И если бы возможно, как можно было бы настроить его? Был бы NamedPipeServerStream или что-то еще в.NET System.IO.Pipes пространство имен соответствовать?

например, использование в качестве примера Powershell:

[reflection.Assembly]::LoadWithPartialName("system.core")
$pipe = New-Object system.IO.Pipes.NamedPipeServerStream("Bob")

И затем...., что?

7
задан Peter Radocchia 4 February 2010 в 17:41
поделиться