Код ошибки 1072896760

  • Remove From My Forums
  • Question

  • Hi,

    I am using Msxml2.DOMDocument however I am getting a parseError of -1072896760. I can’t find this documented anywhere!

    the XML I am trying to parse is:

    <?xml version="1.0" encoding="utf-8" ?>
    <result status="1">
    <sale id="155913">
    <salecosts>
    <salecost name="handset" value=""/>
    <salecost name="delivery" value=""/>
    <salecost name="other" value=""/>
    </salecosts>
    <handset>
    <model id="1" name="1661-Black(+�60 cb)">
    <manufacturer id="1" name="Nokia"/>
    </model>
    </handset>
    <tariff rental="20" term="24" description="rent: 20.00 | term: 24 | mins: 100 | SMS: 500 | network: Vodafone">
    <network name="UK - VODAFONE" id="2" />
    </tariff>
    <user name="becky_sales" id="33105" />
    <delivery instructions=" ">
    <deliveryAddress add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    </delivery>
    <mobile number="00447123456789" id="29988151">
    <contactDetails>
    <address add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    <name saluation="Mrs " fname="BOB" sname="SMITH"/>
    <additionalNumbers>
    <additionalNumber name="Alternate" number=" "/>
    </additionalNumbers>
    </contactDetails>
    </mobile>
    </sale>
    </result>

    Regards,

    Chris V

    • Moved by

      Tuesday, February 22, 2011 2:13 AM
      (From:XML in Windows (MSXML and XmlLite))

Answers

  • You can use DomDocument.parseError.reason to find the description of this error code. I used the following code to parse your xml and there is no error.

    var doc = new ActiveXObject("Msxml2.DOMDocument");
    doc.validateOnParse = true;
    doc.async = false;
    doc.setProperty("ProhibitDTD", false);
    doc.resolveExternals = true;
    doc.load("test.xml");
    
    var error = doc.parseError;
    if (error.errorCode != 0){
    	WScript.Echo("Code: " + error.errorCode);
    	WScript.Echo("Reason: " + error.reason);
    	WScript.Echo("Line: " + error.line + " Pos: " + error.linepos);
    	WScript.Echo("Source: " + error.srcText);
    }
    else{
    	WScript.Echo("No Error");
    }

    I also believe the «<br/>» right next to <?xml … ?> is not part of the xml file.


    Shuhai Shen — http://leonax.net

    • Edited by
      Shuhai
      Wednesday, September 2, 2009 2:20 PM
      Add link
    • Marked as answer by
      venablc
      Wednesday, September 2, 2009 2:29 PM

Сабж. А IE номально загружает его. Другие XML, выгруженные по той же схеме — проходят нормально. В чем дело? Код загрузки:

#1 by jbond
xmlParser.parseError.reason = «An invalid character was found in text content.»
#2 by andrey1111

Если парсится выгрузка из 1С, то сделай ТиИ базы-источника. Оно уберет запрещенные символы. Обычно это символ возврата каретки в каком-нибудь реквизите справочника. Затем снова сделай выгрузку. ЗЫ копию не забудь сделать

#3 by jbond

— это собственноручно написанная выгрузка. Впервые сталкиваюсь с такой хней. Перепробовал и Utf-8 и WIN1251

#4 by jbond
А сторонние инструменты лечение XML есть?
#5 by jbond
Странно ругается на символ в слове Медсеста.
#6 by jbond
А теперь ругается на другой сивмол — в слове Возвраты. Что за хрень? Парсер глючный?

Источник: avprog.ru

Добрый день. Столкнулся с проблемой импорта данных в ms sql.

Ошибка в Excel «#ДЕЛ/0».Функция ЕСЛИОШИБКА

Данные из экселя. 4 простых столбца
clu_ID clu_ClarkID clu_UserID clu_DomainID
1 7 NULL 2

Подскажите, в чем ошибка?

__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь

Запись данныз из DataGridView в БД SQL
В форме имеется dataGridView1 заполненный данными. При нажатие на кнопку, нужно, чтоб информация.

Импорт с XLS
Делаю програмулину загрузки счетов из Экселя в 1с появилась проблема, как в конфе»Бухгалтерский.

вы покажите как выделаете импорт
покажите версию сервера

Microsoft SQL Server 2008 R2 (RTM) — 10.50.1600.1 (X64) Apr 2 2010 15:48:46 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Принцип простой:выбираю импорт данных,источник-файл эксель,выбираю куда вставить(пароль,бд),выбираю копировать все данные из 1 или неск-х таблиц,далее источник Лист1$,назначение таблицу SQL,далее готово. Если нужны скрины, могу выложить.

а может вы в студии сделаете запрос и скопируете его в эксель?

у вас скорее всего проблема в разрядности сервера и клиента

а может вы в студии сделаете запрос и скопируете его в эксель?
у вас скорее всего проблема в разрядности сервера и клиента Проблему решил. почему-то вставляет только удалением всех данных,так же проблема была с PK. почему-то вставляет только удалением всех данных,так же проблема была с PK.

Действия,которые сделал.
Разрешить вставку в столбец идентификаторов.
Удалить строки в целевой таблице.
Но еще есть вопросы.

Добавлено через 23 секунды
Опять какой-то косяк.
Вставляю значения в новую таблицу.Тоже самое
Ошибка 0xc0202009: Задача потока данных 1: Код ошибки служб SSIS: DTS_E_OLEDBERROR. Возникла ошибка OLE DB. Код ошибки: 0x80004005.
Доступна запись OLE DB. Источник: «Microsoft SQL Server Native Client 10.0» Результат: 0x80004005 Описание: «Неопознанная ошибка».

24 Функция Excel ЕСЛИОШИБКА

(Мастер импорта и экспорта SQL Server)

Ошибка 0xc020901c: Задача потока данных 1: Ошибка входной столбец «RecordDate» (141) в вход «Destination Input» (63). Возвращено состояние столбца: «Значение противоречит ограничениям целостности для столбца.».
(Мастер импорта и экспорта SQL Server)

Я пытаюсь открыть XML файл в Excel 2013, но он говорит, что он не может этого сделать, потому что «DTD запрещено». Я искал решение, но все, что я нашел, — это некоторые фрагменты кода, которые должны решить проблему.

Но я этого не понимаю! Какой код? Я просто открываю файл, я не пишу программу или что-то еще. Должен ли я читать этот код вслух перед открытием файла или что? Извините, но я считаю это действительно абсурдным.

Есть ли какое-то решение только для открытия файла без написания программы? А если нет, что мне делать с этим кодом?

Код, о котором я говорю, следующий

Я обнаружил, что файл может быть открыт в Word, а не в Excel, но Word 2013 дает мне ту же ошибку.

Кажется, файл должен был быть открыт в Excel. Я нашел в Интернете, что Office 2007 и старше не запрещают DTD, что бы это ни было. Поэтому я успешно обошел проблему, открыв необходимый файл в Excel 2003.

спросил(а) 2014-03-14T14:36:00+04:00 7 лет, 8 месяцев назад

Обходной путь довольно прост, откройте XML файл и удалите строку, относящуюся к местоположению DTD. Excel создаст XML-схему в соответствии с вашим XML файлом.

Все документы XML зависят от определения того, какие поля разрешены для существования и какие значения разрешены для существования в каждом из этих полей. Они определены в каждом XML файле путем ссылки на определение типа документа ( «DTD» ) или файл XML-схемы.

Я понимаю, что Excel 2007 и более поздние версии не поддерживают DTD. Вместо этого они ожидают, что ваш XML файл будет ссылаться на XML-схему.

Итак, ваша основная проблема заключается в том, что ваш XML файл ссылается на DTD файл, и вам нужно преобразовать ваш DTD файл в файл XML-схемы (вы можете проверить это, открыв документ с помощью программы, например Notepad ++, и посмотрите на необработанную текст.)

Есть много инструментов, которые помогут вам сделать это, но, честно говоря, я пытался заставить их всех работать в течение нескольких часов и до сих пор не имеет Excel, открывающего мой XML (пробежал этот пост googling тот же код ошибки.)

Если вы просто пытаетесь открыть XML файл в одно мгновение, вы, вероятно, не захотите вложить в него столько усилий, но если я выясню быстрое и простое решение, я приду обновление.

Если вам просто нужно открыть его, вы можете скачать бесплатную программу, которая преобразует XML в CSV:

Я попробовал, и он отлично поработал — я сразу же открыла свой файл в Excel 2013. Проблема решена на данный момент.

Конечно, точка XML заключается в том, что данные могут относиться к другим данным с контекстом, и они теряются без надлежащей схемы или файла DTD. Но если вы просто хотите, чтобы файл был открыт, это должно работать на данный момент (для тех, у кого еще нет Excel 2003, хотя я думаю, что это так же легко для вас.)

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Симптомы

Решение

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

Способ 1. Игнорировать DDE

Чтобы изменить этот параметр, выполните приведенные ниже действия:

Эта проблема может возникнуть, если в параметрах Excel установлен флажок Игнорировать другие приложения, использующие динамический обмен данными (DDE).

Дополнительные сведения об отключении DDE см. в следующей статье базы знаний Майкрософт:

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 2.

Способ 2. Восстановление виртуализации взаимодействия с пользователем (UE-V)

Если вы используете обновление пользовательского опыта виртуализации (UE-V), установите Hotfix Package 1 для Microsoft User Experience Virtualization 2.0 (KB2927019).

Если вы не уверены, используете ли вы UE-V, просмотрите список программ в Программы и компоненты на панели управления. Запись для «Центра параметров компании» указывает на то, что вы используете UE-V.

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 3.

Способ 3. Сброс сопоставления файлов

Чтобы проверить, правильно ли работают сопоставления файлов в системе, сбросите сопоставления файлов Excel на настройки по умолчанию. Для этого выполните описанные ниже действия в зависимости от установленной операционной системы. Windows 10

  1. На начальном экране введите «Панель управления».
  2. Выберите Панель управления.
  3. Выберите Программы по умолчанию > Задание программ по умолчанию.
  4. Выберите Excel > Выберите по умолчанию для этой программы.
  5. На экране Сопоставление программ выберите Выбрать все > Сохранить.
  1. Выберите Пуск > Панель управления.
  2. Выберите Программы по умолчанию.
  3. Выберите Сопоставление типов файлов или протоколов с конкретными программами.
  4. Выберите Лист Microsoft Excel, затем выберите «Изменить программу».
  5. В разделе Рекомендуемые программы выберите Microsoft Excel.
  6. Если Excel не отображается в этом списке, выберите Обзор, найдите папку установки Excel, выберите Excel.exe > Excel.

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 4.

Способ 4. Восстановление Office

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

Для Office 365, установленной по технологии «нажми и работай»

  1. В поле поиска введите Панель управления, а затем выберите Панель управления в результатах поиска.
  2. В разделе Программы выберите Удаление программы.
  3. Нажмите Microsoft Office 365 > Изменить.
  4. Нажмите Восстановление по сети > Восстановить.

После завершения восстановления может потребоваться перезагрузить компьютер. Windows 8

  1. На начальном экране введите «Панель управления».
  2. Выберите Панель управления.
  3. В разделе Программы выберите Удаление программы.
  4. Выберите Microsoft Office 365 > Изменить.
  5. Выберите Восстановление по сети > Восстановить.

После завершения восстановления может потребоваться перезагрузить компьютер.

  1. Выберите Пуск >Панель управления.
  2. Дважды щелкните Программы и компоненты.
  3. Выберите Microsoft Office 365 > Изменить.
  4. Выберите Восстановление по сети > Восстановить.

После завершения восстановления может потребоваться перезагрузить компьютер.

Для восстановления Office выберите параметр «Восстановление по сети».

Для установки Office 2016, 2013, Office 2010 или Office 2007

Для восстановления Office 2013, Office 2010 или Office 2007, следуйте шагам в следующей теме веб-сайта Office:

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 5.

Способ 5. Выключите надстройки

Надстройки Excel и COM также могут вызывать эту проблему. Эти два вида надстроек расположены в разных папках. Для тестирования отключите и изолируйте конфликт, отключив каждую надстройку по одному. Для этого выполните следующие действия:

  1. В меню Файл выберите пункт Параметры > Надстройки.
  2. В списке Управление в нижней части экрана выберите элемент Надстройки COM > Перейти.
  3. Удалите одну из надстроек в списке, затем выберите OK.
  4. Перезапустите Excel, дважды щелкнув значок или имя файла для книги, которую вы пытаетесь открыть.
  5. Если проблема сохраняется, повторите шаги 1-4, за исключением выбора другой надстройки в шаге 3.
  6. Если проблема сохраняется после того, как вы очистите все надстройки COM, повторите шаги 1-4, за исключением выбора Надстройки Excel в шаге 2, затем попробуйте каждую из надстроек Excel по одному на шаге 3.

Если Excel загружает файл, надстройка, которую вы выключили в последний раз, вызывает проблему. В этом случае мы рекомендуем вам посетить веб-сайт производителя надстройки, чтобы узнать, доступна ли обновленная версия надстройки. Если новая версия надстройки недоступна или вам не нужно использовать надстройку, вы можете оставить ее выключенной.

Если Excel не открывает файл после выключения всех надстроек, проблема имеет другую причину.

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 6.

Способ 6. Отключите аппаратное ускорение

Чтобы решить эту проблему, отключите аппаратное ускорение до тех пор, пока производитель видеокарт не выпустит исправление. Регулярно проверяйте обновления для драйвера видеокарты.

Порядок отключения аппаратного ускорения:

Запустите любую программу Office 2013.

На вкладке Файл выберите пункт Параметры.

В диалоговом окне Параметры выберите категорию Дополнительно.

В списке доступных параметров, установите флажок в поле Выключить аппаратное ускорение обработки изображений.

Следующий снимок экрана показывает эту опцию в Excel.

Выберите параметр «Выключить аппаратное ускорение обработки изображений», чтобы отключить аппаратное ускорение для продуктов Office.

Если устранить проблему с помощью этих действий не удалось, перейдите к способу 7.

Способ 7. Проверка наличия или установка последних обновлений

Возможно, вам придется настроить Центр обновления Windows для автоматической загрузки и установки рекомендуемых обновлений. Установка важных, рекомендуемых и необязательных обновлений зачастую может решить проблемы за счет замены устаревших файлов и устранения уязвимостей.

Для получения дополнительных сведений об обновлениях Office щелкните следующий номер статьи, чтобы перейти к статье в базе знаний Майкрософт.

Дополнительная информация

Существует множество возможных причин, которые могут привести к этой ошибке.

Дополнительные сведения об этой проблеме и дополнительные действия по устранению неполадок см. в следующих статьях базы знаний Майкрософт.

Причина

Это может происходить, если действия «Открыть» для этого типа файлов заканчивается на %1.

Если действие открыть для файла данного типа изменено и строка сохранена перед нажатием кнопки ОК, %1 добавляется в параметр реестра.

Если %1 намеренно добавить действия «Открыть» для этого типа файлов, %1 добавляется в параметр реестра. При дальнейшем %1 удаляется из действия «Открыть», параметр реестра остается неизменной и необходимо изменить вручную.

Кроме того эта проблема может возникнуть при изменении вручную сопоставления файлов XLS-файлов или в некоторых случаях при запуске на одном компьютере несколько версий Excel.

Решение

Чтобы устранить эту проблему, установите последние накопительные обновления для Microsoft Office Excel. Последние накопительные обновления можно найти, щелкнув следующую ссылку:

953878 накопительного обновления доступны из группы Microsoft Office для предоставления исправления для проблем, о которых сообщалось в

Временное решение

Важно. Этот раздел, метод или задача содержат действия, содержащие указания по изменению реестра. Однако, при некорректных изменениях реестра могут возникнуть серьезные проблемы. Поэтому выполняйте следующие действия внимательно. Для дополнительной защиты сделайте резервную копию реестра перед внесением изменений.

В таком случае при возникновении неполадок можно будет восстановить реестр. Чтобы узнать дополнительные сведения о резервном копировании и восстановлении реестра, щелкните следующий номер статьи базы знаний Майкрософт:

322756 как резервное копирование и восстановление реестра Windows
Чтобы обойти эту проблему, выполните следующие действия.

В поле Открыть введите команду regedit и нажмите кнопку ОК.

Откройте следующий раздел реестра:

В области справа выберите (по умолчанию).

В меню Правка выберите команду Изменить.

Удалите %1 из конца строки значение таким образом, чтобы строка данных выглядела следующим образом:

«C:PROGRAM OFFICEOFFICEEXCEL. EXE» /e (включая кавычки)

Дополнительные сведения

Примечание. В некоторых версиях Windows, описанные действия могут существенно отличаться от того, что написано в данной статье. Если это так, обратитесь к документации продукта для выполнения этих действий.

Чтобы изменить действие открыть тип файла, выполните следующие действия.

Запустите проводник Microsoft Windows.

В меню Сервис выберите Свойства папки

Перейдите на вкладку Типы файлов .

  • Как отключить компрессию данных в браузере опера
  • 1с перебрать таблицу значений
  • Video card or driver doesn t support ubyte4n vertex data что делать
  • Как сделать платежную ведомость в 1с на одном листе
  • Как правильно вошла или зашла в программу на компьютер

Источник: kompyutery-programmy.ru

Parsing Xml

Нужно распарсить ХМЛ файл, но файл с ошибкой. Как исправить ошибку, а затем парсить.

Переписываать файл НЕЛЬЗЯ

Использую такой код

var xmlDoc = new ActiveXObject(«Microsoft.XMLDOM»);

var readok = false;
xmlDoc.async = «false»;
readok = xmlDoc.load(programfolder + «client_state.xml»);

Но readok содержит ошибку -1072896760 — недопустимый символ. Это не ASCII символ. Так вот как его выбросить, а затем продолжить парсить.

Источник: codeby.net

Как «обнулить» поток TFileStream?

Вопрос дурацкий, но мозг взрывается.
Ситуация: Есть файл (test.xml), он «битый» с NULL-символами. Этот код исправляет его, т.е. удаляет все NULL-символы заменяя их на пробел.

При загрузке test.xml исключение генерирует ошибку -1072896760, соответственно выполняется нужная метка case, файл открывается в потоке, перезаписывается в поток в файл fix.xml, после чего он повторно вызывается в функции загрузки ReadFile(FixPathLog);, но вот в чём фиговинка. При повторной загрузке программа генерирует ту же самую ошибку и пишет что файл fix.xml используется процессом.

Я понимаю что wream пытается создать снова такой же файл и доступ запрещён. Дело не в том. Почему при вызове исправленого файла ReadFile(FixPathLog);, происходит генераций той же ошибки, если она была исправлена? Ведь если закрыть программу и попытаться открыть fix.xml, то всё открывается как надо. Что нужно исправить и что я делаю не так?

Вот код, буду признателен за подсказку, как сделать правильно.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
// После перетаскивания, вычисляем расширения и открываем файл в RichEdit—— void __fastcall TForm1::ReadFile(UnicodeString FileName) { UnicodeString FixPathLog = ExtractFilePath(FileName) + «fix.xml»; AnsiString str = ExtractFileExt(FileName); if(str == «.xml»){ try{ XMLDocument1->Active = true; XMLDocument1->LoadFromFile(FileName); xmlRoot = XMLDocument1->ChildNodes->Nodes[1]; } catch(EDOMParseError Lines->Add(String(«ID Error: «) + ex.

ErrorCode); switch(ex.ErrorCode){ case -1072896760: // NULL-String { AnsiString asd; TFileStream *stream = new TFileStream(FileName, fmOpenRead); TFileStream *wream = new TFileStream(FixPathLog, fmCreate); if(stream != NULL){ stream->Seek(0, soFromBeginning); wream->Seek(0, soFromBeginning); char asd; asd = ‘ ‘; for(int i = 0; i stream->Size;i++){ short int vol; stream->Read( if(IntToHex(vol, sizeof(vol)).

LowerCase() == «01»){ continue; } if(IntToHex(vol, sizeof(vol)).LowerCase() == «0b»){ continue; } if(IntToHex(vol, sizeof(vol)).LowerCase() == «08»){ continue; } if(vol == NULL){ if(IntToHex(asd, sizeof(asd)).LowerCase() == «22»){ wream->Seek(-1, soFromEnd); vol = ‘ ‘; wream->Write( } // if(IntToHex(asd, sizeof(asd)).LowerCase() == «22») else{ vol = ‘ ‘; wream->Write( } // else continue; } // if(vol == NULL) asd = vol; wream->Write( } // for(int i = 0; i < stream->Size;i++) delete wream; delete stream; wream = NULL; stream = NULL; ReadFile(FixPathLog); // Открываем повторно перезаписаный файл fix.xml } // if(stream != NULL) } // case -1072896760: // NULL-String case -1072896759: // Слипшийся атрибут { // обработка для этой ошибки. } default: break; } // switch(ex.ErrorCode) } // catch(EDOMParseError .xml») }

Источник: www.cyberforum.ru

  • Remove From My Forums
  • Question

  • Hi,

    I am using Msxml2.DOMDocument however I am getting a parseError of -1072896760. I can’t find this documented anywhere!

    the XML I am trying to parse is:

    <?xml version="1.0" encoding="utf-8" ?>
    <result status="1">
    <sale id="155913">
    <salecosts>
    <salecost name="handset" value=""/>
    <salecost name="delivery" value=""/>
    <salecost name="other" value=""/>
    </salecosts>
    <handset>
    <model id="1" name="1661-Black(+�60 cb)">
    <manufacturer id="1" name="Nokia"/>
    </model>
    </handset>
    <tariff rental="20" term="24" description="rent: 20.00 | term: 24 | mins: 100 | SMS: 500 | network: Vodafone">
    <network name="UK - VODAFONE" id="2" />
    </tariff>
    <user name="becky_sales" id="33105" />
    <delivery instructions=" ">
    <deliveryAddress add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    </delivery>
    <mobile number="00447123456789" id="29988151">
    <contactDetails>
    <address add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    <name saluation="Mrs " fname="BOB" sname="SMITH"/>
    <additionalNumbers>
    <additionalNumber name="Alternate" number=" "/>
    </additionalNumbers>
    </contactDetails>
    </mobile>
    </sale>
    </result>

    Regards,

    Chris V

    • Moved by

      Tuesday, February 22, 2011 2:13 AM
      (From:XML in Windows (MSXML and XmlLite))

Answers

  • You can use DomDocument.parseError.reason to find the description of this error code. I used the following code to parse your xml and there is no error.

    var doc = new ActiveXObject("Msxml2.DOMDocument");
    doc.validateOnParse = true;
    doc.async = false;
    doc.setProperty("ProhibitDTD", false);
    doc.resolveExternals = true;
    doc.load("test.xml");
    
    var error = doc.parseError;
    if (error.errorCode != 0){
    	WScript.Echo("Code: " + error.errorCode);
    	WScript.Echo("Reason: " + error.reason);
    	WScript.Echo("Line: " + error.line + " Pos: " + error.linepos);
    	WScript.Echo("Source: " + error.srcText);
    }
    else{
    	WScript.Echo("No Error");
    }

    I also believe the «<br/>» right next to <?xml … ?> is not part of the xml file.


    Shuhai Shen — http://leonax.net

    • Edited by
      Shuhai
      Wednesday, September 2, 2009 2:20 PM
      Add link
    • Marked as answer by
      venablc
      Wednesday, September 2, 2009 2:29 PM

You may comes across a situation where a application is throwing this error message.

System Number: 1072896760 
Code: 1072896760 
Description:Unknown error. 
Source:Microsoft OLEDB Persistence Provider 

It may not be immediately apparent what the cause of this error is or where to start looking as

its not descriptive to know a place to start. So one technique to check the origin of the error is the database records being pushed to the application.  

This application is built on .Net with a SQL Server back end.

During the troubleshooting phase it was observed the error did not occur with one set of records, though when tested with a different set of records the application would throw the error.

This required some further analysis of the records triggering the error. At first glance the records did not show anything unusual. It is of data type Varchar (100). The characters in the field looked normal with no indication how a Varchar record could cause an application to break.

It was decided to look at the record from a different perspective. Instead look if there was something in the data that could not be viewed normally. I wrote this script to highlight if there was an Ascii value in the record that could not be visible.

Below is this script that highlights any data outside of the normal Ascii range for printable characters.

CREATE TABLE TEST ( COL1 VARCHAR(100));

GO

INSERT INTO TEST VALUES(‘THIS IS A NONPRINTABLE CHARACTER STRING’);

GO

DECLARE @pos int, @string char(100);

SET @pos = 1;

SELECT @string = COL1 FROM TEST

WHILE @pos <= DATALENGTH(@string)

BEGIN

IF ASCII(SUBSTRING(@string, @pos, 1)) <= 31

SELECT ASCII(SUBSTRING(@string, @pos, 1)) , ‘NON PRINTABLE CHARACTER FOUND ‘

ELSE

SELECT ASCII(SUBSTRING(@string, @pos, 1)) , CHAR(ASCII(SUBSTRING(@string, @pos, 1)))

SET @pos = @pos + 1

END;


GO

In this example it was identified that it was a Non Printable Character causing the Web Application to fail.
The application was trying to handle a record from Sql Server that had the Non Printable Character Record Separator RS.
The web application was unable to handle this unexpected data, which caused it to fail and throw the above error message.

To manually generate this Non printable Character you would select the following on your keyboard.
Ctrl  Shift  ^
You can see this symbol represented in text editor NotePad++ as shown below.

(This text below has an Record Separator RS embedded in it).
‘EXAMPLE TESTING OF NON PRINTABLE CHARACTER’

This issue was simply resolved at source by manually editing the record, deleting it and entering the data again, removing the unwanted character.

I have a web page that needs to read a feed; however, because there is an invalid character on the rss xml page my web page is unable to read the xml feed.  

xml feed — http://affiliates.commissionaccount.com/rssfeeds/afffeeds.asp?s=10683
web page — http://www.cooperspick.com/free-pick.asp

Below you see the code for the page.  How can I get the my page to ignore this error and display the feed.  I’ve tried setting the if statement to ignore the error message if it is equal to the code above as shown here
If (objXML.parseError.errorCode = 0 or objXML.parseError.errorCode = -1072896760) Then
However I get an object required error.

What is the solution to this problem  There invalid character is a single quote character on line 3 in the xml feed.

TheFeed = "http://affiliates.commissionaccount.com/rssfeeds/afffeeds.asp?s=10683"
				
				Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 
				objXML.Async = False
				
				objXML.SetProperty "ServerHTTPRequest", True
				
				objXML.ResolveExternals = True
				
				objXML.ValidateOnParse = True
				
				objXML.Load(TheFeed)
				
				CellCount = 0
				
				If (objXML.parseError.errorCode = 0) Then
				
				  Set objRoot = objXML.documentElement
				
					If IsObject(objRoot) = False Then
					
						Response.Write "There was an error retrieving the news feed<br>"
						Response.write("Error code: " & objXML.parseError.errorCode)
						Response.write("<br />Error reason: " & objXML.parseError.reason)
						Response.write("<br />Error line: " & objXML.parseError.line)
					
					Else
					
					 Set objItems = objRoot.getElementsByTagName("item")
				
						If IsObject(objItems) = True Then
				
						   For Each objItem in objItems
				
							  On Error Resume Next
				
							  TheTitle =  objItem.selectSingleNode("title").Text
				
							  TheLink =  objItem.selectSingleNode("link").Text
				
							  TheDesc =  objItem.selectSingleNode("description").Text
				
							  TheDate =  objItem.selectSingleNode("pubDate").Text
				
				
				
							  Response.Write "<a href=" & TheLink & ">" & _
				
											 "<b>" & TheTitle & "</b>" & _
				
											 "</a>" & _
				
											 "<br />"
				
				
				
							  Response.Write TheDesc & _
				
											 "<br />"
				
				
				
							  Response.Write TheDate & _
				
											 "<hr />"
				
						   Next
				
						End If
				
					 Set objItems = Nothing
				  End If
				
				Else
				
				    Response.Write "There was an error retrieving the news feed"
					Response.write("Error code: " & objXML.parseError.errorCode)
					Response.write("<br />Error reason: " & objXML.parseError.reason)
					Response.write("<br />Error line: " & objXML.parseError.line)
				
				End If
				
				Set objXML = Nothing

Open in new window

Понравилась статья? Поделить с друзьями:
  • Код ошибки 10501
  • Код ошибки 1072896636 xml
  • Код ошибки 109 виндовс
  • Код ошибки 105 фотошоп
  • Код ошибки 105 стим как исправить