Благодаря всем, кто ответил, но я нашел свое предпочтительное решение.
, Когда Вы говорите SQL Server ROWTERMINATOR = '\n', он интерпретирует это как значение разделителя строк по умолчанию в соответствии с Windows, который является на самом деле "\r\n" (использующий нотацию C/C++). Если Ваш разделитель строк действительно просто "\n", необходимо будет использовать динамический SQL, показанный ниже.
DECLARE @bulk_cmd varchar(1000)
SET @bulk_cmd = 'BULK INSERT table_name
FROM ''C:\file.csv''
WITH (FIELDTERMINATOR = '','', ROWTERMINATOR = '''+CHAR(10)+''')'
EXEC (@bulk_cmd)
, Почему Вы не можете сказать BULK INSERT... (ROWTERMINATOR = CHAR (10)), вне меня. Не похоже, что можно оценить любые выражения в разделе WITH команды.
то, Что делает вышеупомянутое, создают строку команды и выполняют это. Аккуратно обходя потребность создать дополнительный файл или пройти дополнительные шаги.
Похоже, вы пытаетесь использовать QTKit Capture API для захвата видео с веб-камеры. Пример приложения MyRecorder - это в значительной степени простейшая работающая программа для захвата видео, которую вы можете создать с помощью этого API. Это не было ясно из вашего описания, но вам нужно убедиться, что вы следуете их примеру и инициализируете видеосеанс таким же образом, как они это делают в методе -awakeFromNib
в MyRecorderController. Если вы этого не сделаете, вы не получите захваченное видео.
Что касается метода, который вы пытаетесь использовать, -captureOutput: didOutputVideoFrame: withSampleBuffer: fromConnection:
является методом делегата для QTCaptureDecompressedVideoOutput
. Экземпляр этого класса отсутствует в примере MyRecorder, потому что этот образец записывает на диск только сжатое видео. Чтобы использовать это, вам нужно создать экземпляр QTCaptureDecompressedVideoOutput
, прикрепить его к QTCaptureSession
с помощью -addOutput: error:
и установить делегат для экземпляр QTCaptureDecompressedVideoOutput
будет вашим классом.
Для получения дополнительной информации о том, как QTKit обрабатывает подобные вещи, вы можете обратиться к разделу QTKit Capture в Программирование приложений QTKit Руководство .
Я пытался использовать
- (void) captureOutput: (QTCaptureOutput *) captureOutput didOutputVideoFrame: (CVImageBufferRef) videoFrame withSampleBuffer: (QTSampleBuffer *) sampleBuffer fromConnection: (QTCaptureConnection *) соединение
но он никогда не вызывается.
Является ли объект, реализующий этот метод, делегатом объекта вывода захвата?