Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Есть много файлов xml с детализации трафика от провайдера МТС. Анализировать крайне неудобно. Как нибудь загрузить эти в файлы в бд можно? Если да то как?
12 июл 11, 15:44    [10962349]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

SQLXMLBulkLoad

Posted via ActualForum NNTP Server 1.4

12 июл 11, 15:48    [10962399]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Fire83
Member

Откуда: Гомель-Минск
Сообщений: 474
2king2,

Примеры массового импорта и экспорта XML-документов
12 июл 11, 15:55    [10962482]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Сложновато и не понятно. Думаю открыть Excel сохранить в формате Excel, а затем уже засосать в базу. Загвоздка осталась как объединить несколько файлов Excel в один
12 июл 11, 21:36    [10964384]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Ребята, как можно объединить листы в Excel файле в один???
13 июл 11, 12:37    [10966678]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
--------------------------------
Guest
объединить можн по разному, вопрос нужно ли.
у меня даже один файл МТСа не полезет ни в какой Ехсель и даже в эксплорере не открывается - слишком большой.
приходится парсить на лету.
13 июл 11, 12:40    [10966706]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
--------------------------------
объединить можн по разному, вопрос нужно ли.
у меня даже один файл МТСа не полезет ни в какой Ехсель и даже в эксплорере не открывается - слишком большой.
приходится парсить на лету.


Поделись, опытом или битиками проги
13 июл 11, 13:01    [10966879]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Glory
Member

Откуда:
Сообщений: 104751
2king2
Ребята, как можно объединить листы в Excel файле в один???

И это проще данной выше ссылки ?
13 июл 11, 13:28    [10967133]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Glory
2king2
Ребята, как можно объединить листы в Excel файле в один???

И это проще данной выше ссылки ?


У меня не получилось. Сыпятся ошибки.

+ xml

<?xml version="1.0" encoding="utf-8"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns="urn:schemas-microsoft-com:office:spreadsheet">
  <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
    <Author>FORIS OSS</Author>
    <LastAuthor>FORIS OSS</LastAuthor>
    <Created>2011-07-05T16:57:53.1216839+04:00</Created>
    <LastSaved>2011-07-05T16:57:53.1216839+04:00</LastSaved>
    <Company />
    <Version>1.0</Version>
  </DocumentProperties>
  <ss:Styles>
    <ss:Style ss:ID="dtf">
      <ss:NumberFormat ss:Format="dd.mm.yyyy hh:mm:ss" />
    </ss:Style>
    <ss:Style ss:ID="int">
      <ss:NumberFormat ss:Format="0" />
    </ss:Style>
  </ss:Styles>
  <ss:Worksheet ss:Name="Лист1">
    <ss:Table x:FullColumns="1" x:FullRows="1">
      <ss:Row>
        <ss:Cell>
          <ss:Data ss:Type="String">XXXXXXXXXX</ss:Data>
        </ss:Cell>
        <ss:Cell ss:StyleID="dtf">
          <ss:Data ss:Type="DateTime">2011-06-12T19:30:08</ss:Data>
        </ss:Cell>
        <ss:Cell ss:StyleID="int">
          <ss:Data ss:Type="Number">1</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">XXXX</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">O</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String"></ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String"></ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">sms o</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="Number">1.2711</ss:Data>
        </ss:Cell>
        <ss:Cell />
        <ss:Cell />
        <ss:Cell />
      </ss:Row>
      <ss:Row>
        <ss:Cell>
          <ss:Data ss:Type="String">XXXXXXXXXX</ss:Data>
        </ss:Cell>
        <ss:Cell ss:StyleID="dtf">
          <ss:Data ss:Type="DateTime">2011-06-19T19:30:03</ss:Data>
        </ss:Cell>
        <ss:Cell ss:StyleID="int">
          <ss:Data ss:Type="Number">1</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">XXXX</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">O</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String"></ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String"></ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">sms o</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="Number">1.2711</ss:Data>
        </ss:Cell>
        </ss:Row>
    </ss:Table>
  </ss:Worksheet>
</Workbook>
13 июл 11, 13:50    [10967342]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Glory
Member

Откуда:
Сообщений: 104751
2king2
Glory
пропущено...

И это проще данной выше ссылки ?


У меня не получилось. Сыпятся ошибки.

И нужно угадать, какой скрипт и какие ошибки ?
13 июл 11, 14:26    [10967604]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Glory,

Я не силен в SQL, как я делал
INSERT INTO T(f1,f2,f3,f4,f5,f6,f7,f8,f9)
SELECT * FROM OPENROWSET(
BULK 'f:\Test\277355821133_06.xml',
SINGLE_BLOB) AS x

Сообщение 120, уровень 15, состояние 1, строка 1
Список выбора для инструкции INSERT содержит меньшее число 
элементов, чем список вставки. Число значений SELECT должно 
соответствовать числу столбцов INSERT.
13 июл 11, 16:39    [10968753]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
2king2
Glory,

Я не силен в SQL, как я делал
INSERT INTO T(f1,f2,f3,f4,f5,f6,f7,f8,f9)
SELECT * FROM OPENROWSET(
BULK 'f:\Test\277355821133_06.xml',
SINGLE_BLOB) AS x

Сообщение 120, уровень 15, состояние 1, строка 1
Список выбора для инструкции INSERT содержит меньшее число 
элементов, чем список вставки. Число значений SELECT должно 
соответствовать числу столбцов INSERT.


Шедеврально, хелп так и не осилили.
13 июл 11, 16:42    [10968787]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Ken@t
Шедеврально, хелп так и не осилили.


Обидеть любой может. А вот научить. Я читаю и вижу фигу.
13 июл 11, 16:51    [10968878]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Glory
Member

Откуда:
Сообщений: 104751
2king2
Ken@t
Шедеврально, хелп так и не осилили.


Обидеть любой может. А вот научить. Я читаю и вижу фигу.

Скопировать пример из ссылки один в один тоже что-то мешает ?
13 июл 11, 16:52    [10968885]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Glory
Скопировать пример из ссылки один в один тоже что-то мешает ?


ОК, вот результат

К сообщению приложен файл. Размер - 33Kb
13 июл 11, 17:11    [10969008]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Glory
Member

Откуда:
Сообщений: 104751
2king2
Glory
Скопировать пример из ссылки один в один тоже что-то мешает ?


ОК, вот результат

Картинка с другого сайта.

Делайте следующий шаг - получайте из поля xml нужные данные
13 июл 11, 17:26    [10969126]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Glory,

Если бы я знал как, и мне кажется то это не xml, а схема xml
13 июл 11, 17:39    [10969213]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
2king2
Если бы я знал как, и мне кажется то это не xml, а схема xml


Хм. Поиском не пробывали ?
DECLARE @XML xml
SET @XML =
N'<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns="urn:schemas-microsoft-com:office:spreadsheet">
  <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
    <Author>FORIS OSS</Author>
    <LastAuthor>FORIS OSS</LastAuthor>
    <Created>2011-07-05T16:57:53.1216839+04:00</Created>
    <LastSaved>2011-07-05T16:57:53.1216839+04:00</LastSaved>
    <Company />
    <Version>1.0</Version>
  </DocumentProperties>
  <ss:Styles>
    <ss:Style ss:ID="dtf">
      <ss:NumberFormat ss:Format="dd.mm.yyyy hh:mm:ss" />
    </ss:Style>
    <ss:Style ss:ID="int">
      <ss:NumberFormat ss:Format="0" />
    </ss:Style>
  </ss:Styles>
  <ss:Worksheet ss:Name="Лист1">
    <ss:Table x:FullColumns="1" x:FullRows="1">
      <ss:Row>
        <ss:Cell>
          <ss:Data ss:Type="String">XXXXXXXXXX</ss:Data>
        </ss:Cell>
        <ss:Cell ss:StyleID="dtf">
          <ss:Data ss:Type="DateTime">2011-06-12T19:30:08</ss:Data>
        </ss:Cell>
        <ss:Cell ss:StyleID="int">
          <ss:Data ss:Type="Number">1</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">XXXX</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">O</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String"></ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String"></ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">sms o</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="Number">1.2711</ss:Data>
        </ss:Cell>
        <ss:Cell />
        <ss:Cell />
        <ss:Cell />
      </ss:Row>
      <ss:Row>
        <ss:Cell>
          <ss:Data ss:Type="String">XXXXXXXXXX</ss:Data>
        </ss:Cell>
        <ss:Cell ss:StyleID="dtf">
          <ss:Data ss:Type="DateTime">2011-06-19T19:30:03</ss:Data>
        </ss:Cell>
        <ss:Cell ss:StyleID="int">
          <ss:Data ss:Type="Number">1</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">XXXX</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">O</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String"></ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String"></ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="String">sms o</ss:Data>
        </ss:Cell>
        <ss:Cell>
          <ss:Data ss:Type="Number">1.2711</ss:Data>
        </ss:Cell>
        </ss:Row>
    </ss:Table>
  </ss:Worksheet>
</Workbook>
'

;WITH XMLNAMESPACES(default
	 'urn:schemas-microsoft-com:office:spreadsheet'
	,'urn:schemas-microsoft-com:office:office'	AS office
	,'urn:schemas-microsoft-com:office:excel'	AS excel)
SELECT	
 c.n.value('Cell[1]/Data[1]','varchar(256)')
 ,c.n.value('Cell[2]/Data[1]','varchar(256)')
 ,c.n.value('Cell[3]/Data[1]','varchar(256)')
 ,c.n.value('Cell[4]/Data[1]','varchar(256)')
 ,c.n.value('Cell[5]/Data[1]','varchar(256)')
 ,c.n.value('Cell[6]/Data[1]','varchar(256)')
 ,c.n.value('Cell[7]/Data[1]','varchar(256)')
 ,c.n.value('Cell[8]/Data[1]','varchar(256)')
 ,c.n.value('Cell[9]/Data[1]','varchar(256)')

FROM	@xml.nodes( 'Workbook/Worksheet/Table/Row') c(n)
13 июл 11, 19:27    [10969900]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Ken@t,

Спасибо, результат то что надо! А как @XML заполнить из файла? А то файл большой в оперативку не лезит.
SET @XML = 
13 июл 11, 20:17    [10969990]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
2king2
А то файл большой в оперативку не лезит.
Опять нужно угадать номер ошибки???
13 июл 11, 20:32    [10970028]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
alexeyvg
Опять нужно угадать номер ошибки???


Нет ни какой ошибки. Дело в том что файл весит 2Гигабайта и копи пастом переменную не задать. Я слаб в sql. Думал что так прокатит
SET  @XML = 'h:\123.xml'

Я не могу найти как в переменную загрузить файл. Подскажите?
13 июл 11, 20:42    [10970067]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
2king2
alexeyvg
Опять нужно угадать номер ошибки???


Нет ни какой ошибки. Дело в том что файл весит 2Гигабайта и копи пастом переменную не задать. Я слаб в sql. Думал что так прокатит
SET  @XML = 'h:\123.xml'

Я не могу найти как в переменную загрузить файл. Подскажите?


Вы ч0 издеваетесь ?
13 июл 11, 20:49    [10970088]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
2king2
Member

Откуда:
Сообщений: 545
Ken@t
Я не могу найти как в переменную загрузить файл. Подскажите?


Нет, не издеваюсь. Обидно что меня не понимают. Я же говорю, не понимаю sql. Для меня это набор букв. Эх, пойду убьюсь об стенку пока меня, а то чувствую меня попросят.
13 июл 11, 20:58    [10970121]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
Glory
Member

Откуда:
Сообщений: 104751
2king2
Нет, не издеваюсь. Обидно что меня не понимают. Я же говорю, не понимаю sql. Для меня это набор букв. Эх, пойду убьюсь об стенку пока меня, а то чувствую меня попросят.

Тогда садитесь и вбивайте содержимое файла вручную в таблицу
13 июл 11, 23:27    [10970569]     Ответить | Цитировать Сообщить модератору
 Re: xml to MS SQL Server  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31962
2king2
Нет ни какой ошибки. Дело в том что файл весит 2Гигабайта и копи пастом переменную не задать.
Это ексельный файл такой большой???

Тогда только SQLXMLBulkLoad или через SSIS
Это довольно сложные пути.

Альтернатива - писать программу и через объектную модель экселя.

2king2
Я же говорю, не понимаю sql
Тут программист нужен! :-)
13 июл 11, 23:47    [10970634]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить