Как вставить специальные символы в SQL Server 2008 R2?

#sql #sql-server

#sql #sql-сервер

Вопрос:

Я пытаюсь собирать новостные статьи и сохранять содержимое в базе данных. Мне нужно сделать это быстро, произнеся 300 новостных статей менее чем за 15 минут. В новостном контенте между ними много специальных символов, таких как «‘» и т.д. Есть ли какой-либо способ указать базе данных игнорировать эти символы при записи в базу данных? Ошибка запроса Insert.

Спасибо.

Комментарии:

1. я использую C # для построения строки и прямой отправки ее в базу данных. Меня не интересует sqlinjection и т.д.

2. можете ли вы предоставить запрос insert, с которым вы пытаетесь?

Ответ №1:

Параметризуйте свою инструкцию INSERT — вы избавите себя от множества подобных проблем. Другие преимущества этого включают повторное использование плана выполнения (хорошо для производительности) и защиту от внедрения SQL.

Комментарии:

1. Использование обычного выражения для удаления кавычек перед передачей строки. На данный момент это, кажется, работает. Спасибо.

Ответ №2:

Я был неправ, я неправильно проанализировал проблему, это просто цитата, которая выполняет запрос, и я удалил цитату вместо добавления двойных кавычек для escape, поскольку это не имеет никакого значения.

если не использовать like, то только ‘ будет проблемой в SQL Server 2008 — точка усвоена.

Спасибо.

Ответ №3:

Мне нужно сделать это быстро, произнести 300 новостных статей менее чем за 15 минут

Другие люди сочли бы ваше определение быстрого как очень медленного. 300 вставок статей должны выполняться за 15 секунд, а не за 15 минут.

Ошибка запроса Insert

Покажите запрос, пожалуйста, вместе с ошибкой. если вы используете параметры, у вас не возникнет проблем с этим, если только ваши данные не слишком длинные для правильной обработки в параметре.

Комментарии:

1. SQL-запрос, который я пытаюсь запустить с C #, — SqlQuery = «ВСТАВИТЬ В [StockPredictData].[dbo]. [» bomCode «]([NewsURL], [Дата выпуска новостей], [Имя веб-сайта], [Заголовок новости], [Новостная подборка], [NewsBody]) ЗНАЧЕНИЯ (‘» urlList[i] «‘,'» DateList[i] «‘,'» urlNameList[i] «‘,'» urlTitleList[i] «‘,'» shortSampleBodyList[i] «‘,'» bodyList[i] «‘); sqlaccessobj. Выполнить команду (sqlconobj, SqlQuery, «write»);

2. Во время отладки это то, что у меня есть