Убедитесь, что у вас есть разрешение ALTER ANY EXTERNAL DATA SOURCE?
Разрешения ALTER ANY EXTERNAL DUR SOURCE необходимы для обращения к базовому источнику данных.
Вы можете увидеть: Вертикальное разбиение - запросы к нескольким базам данных
Надеюсь, это поможет вам.
Я начал использовать XMLReader для парсинга XML-файлов. После выполнения небольшого количества поиска с помощью Google вокруг найденного это лучшие к пути анализируют XML-файлы, поскольку это не загружает целый XML-файл в память. Скажите, предполагают ли, что мои XML-файлы имели 5 МБ при парсинге его с помощью XMLReader, 5 МБ моей памяти не становятся потраченными впустую.
//usage
$xml = new XMLReader();
$xml->XML($xmlString);
while($xml->read)
{
if($xml->localName == 'Something') // check if tag name equals something
{
//do something
}
}
Используя Средство чтения XML мы можем найти, является ли текущий тег открывающим тэгом или закрывающим тэгом, и сделайте необходимое как требуется.
Это зависит от документа, Вы являетесь передающими, но XMLReader обычно быстрее и, чем simplexml и, чем DOM (http://blog.liip.ch/archive/2004/05/10/processing_large_xml_documents_with_php.html). Лично, хотя я никогда не использовал XMLReader и обычно решал, чтобы использовать в зависимости от того, должен ли я отредактировать его:
Можно также преобразовать объекты между simplexml и DOM.
Если Вы обрабатываете огромные файлы, не анализируют их. Примените XSLT вместо этого. Это сохранит Вас огромные объемы памяти и время обработки.
Я предпочитаю simplexml_load_string для простоты использования. Скорость обработки может зависеть от формата XML-файла, если два использования различные методы парсинга файла - испытывают его на Ваших собственных файлах и видят, который лучше для Вас.
Весь XML обрабатывается simpleXML в PHP теперь, когда я разрабатываю. Это легко расширяется и методы, перезаписанные при необходимости.