Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / load xml local infile / 12 сообщений из 12, страница 1 из 1
11.01.2016, 10:40:54
    #39144311
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
измучился уже, подскажите как загрузить этот файл в MySql
делал так
Код: sql
1.
mysql> LOAD XML LOCAL INFILE 'c:\\21.XML' INTO TABLE `xml`;


неполучается...
потом так
Код: sql
1.
mysql> LOAD XML LOCAL INFILE 'c:\\21.XML' INTO TABLE `xml` ROWS IDENTIFIED BY '<ActivityDurationDays>';


вставляется (не могу понять как вставить все поля в строку)

Вот собственно сам xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="utf-8"?>
<TaskArchive xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" xmlns="http://site.ru/max/">
  <Description>
    <UserName>Иванов И.И.</UserName>
    <Division>ООО Дом</Division>
    <ExportDate>2015-05-20T15:17:29.0609734+04:00</ExportDate>
  </Description>
  <Data><Task xmlns="http://site.ru/max/"><ShortTask UniqueId="e9c3df2e-adb1-43d2-884f-680512b68518"><ActivityDurationDays>111</ActivityDurationDays><Activity Title="ыаыва" /><CategoryType>Order</CategoryType><Object Title="вап" Caption="88" /><TaskNumber>НОМЕР</TaskNumber><TaskYear>2015</TaskYear><TaskDate>2015-05-16</TaskDate><BeginDate>2015-05-17</BeginDate><EndDate>2015-05-18</EndDate><BlankNumber>123456789</BlankNumber><ActivityPlace Title="SSS" /><ActivityPhone>12345</ActivityPhone><CriminalCase Title="ДПОП" Caption="ОО" /><CriminalCaseNumber>34-234-3</CriminalCaseNumber><CriminalCaseName>выарддд</CriminalCaseName><ObjectAlias>Иванчег А.В. 88а-РЕГНОМЕР</ObjectAlias><JoinOpu>0</JoinOpu><Division Title="ДДДДД" Caption="84EFD93D-5E41-4225-BB11-3B02D03E9B75" /><TaskType>1</TaskType><TaskMN>1596</TaskMN><IMSI>25864</IMSI><IMEI>654321</IMEI><PrivacyLevel Title="Род" Caption="3" /><State>WithoutTaskMission</State></ShortTask><PhysAddress UniqueId="f814a845-7c36-49c6-bdf9-0bd12f36dcdd"><Region Title="Жук" /><Discrict Title="Майский" Caption="БОГ" /><Town Title="В. НОВГОРОД" Caption="В. " /><Street Title="Аврора" /><HouseNumber>646</HouseNumber><Building>685</Building><Flat>356</Flat></PhysAddress><Physical UniqueId="1fbf5bad-839f-4b57-81e5-f438aa40b085"><LastName Title="Козлов" Caption="ВАВ" /><FirstName Title="АПАР" Caption="АПА" /><Patronymic Title="ВАЛЕРЬЕВИЧ" Caption="ВАЛ" /><BirthDay>2015-05-14</BirthDay><Sex Title="М" /><Alias>авпр</Alias><EruditionLevelOrd Title="ДА" /><Accents>смве</Accents></Physical><TaskInitiator><Subdivision Title="Таз" Caption="ОО" /><Agency Title="ЧКФ" /><FullName Title="Зайкин А.А." Caption="Комолов А.А." /><PhoneA>99599999</PhoneA><PhoneB>841351418</PhoneB></TaskInitiator><Orientation><CriminalDirection Title="КОНИКС" /><Citizenship Title="Роман" /><Nationality Title="Котят" /><CriminalCategory Title="Маркетинг" /></Orientation><Target><Target>впавквы ыва вап выфп асп</Target></Target><Sanction><JuridicalOrder>156</JuridicalOrder><Period>180</Period><SanctionDate>2015-05-16</SanctionDate><IsFromConnectionMoment>0</IsFromConnectionMoment><SanctionPerson><Agency>Москва</Agency><Post>Руководитель</Post><FullName>Молотов В.В.</FullName></SanctionPerson></Sanction><AgencyDirectionAlt><CaptionTo>РооРоо</CaptionTo><CaptionFor>Казин А.А.</CaptionFor></AgencyDirectionAlt><TaskEffectiveness><EffectivenessSign>0</EffectivenessSign><JudgeLegalize>0</JudgeLegalize></TaskEffectiveness><CriminalClauses><CriminalClause><ParagraphNumber Title="109" Caption="Мороз" /><SubparagraphNumber>3</SubparagraphNumber></CriminalClause></CriminalClauses></Task></Data>
</TaskArchive>
...
Рейтинг: 0 / 0
11.01.2016, 10:46:28
    #39144320
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
adminsamara,

и так тоже пробовал
mysql> LOAD XML LOCAL INFILE 'c:\\21.XML' INTO TABLE `xml` ROWS IDENTIFIED BY '<TaskArchive >';
тоже нет!
...
Рейтинг: 0 / 0
11.01.2016, 11:03:01
    #39144340
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
Если привести эту хрень к читаемому виду, то получится вот такое:
Код: 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.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
<?xml version="1.0" encoding="utf-8"?>
<TaskArchive xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" xmlns="http://site.ru/max/">
	<Description>
		<UserName>Иванов И.И.</UserName>
		<Division>ООО Дом</Division>
		<ExportDate>2015-05-20T15:17:29.0609734+04:00</ExportDate>
	</Description>
	<Data>
		<Task xmlns="http://site.ru/max/">
			<ShortTask UniqueId="e9c3df2e-adb1-43d2-884f-680512b68518">
				<ActivityDurationDays>111</ActivityDurationDays>
				<Activity Title="ыаыва" />
				<CategoryType>Order</CategoryType>
				<Object Title="вап" Caption="88" />
				<TaskNumber>НОМЕР</TaskNumber>
				<TaskYear>2015</TaskYear>
				<TaskDate>2015-05-16</TaskDate>
				<BeginDate>2015-05-17</BeginDate>
				<EndDate>2015-05-18</EndDate>
				<BlankNumber>123456789</BlankNumber>
				<ActivityPlace Title="SSS" />
				<ActivityPhone>12345</ActivityPhone>
				<CriminalCase Title="ДПОП" Caption="ОО" />
				<CriminalCaseNumber>34-234-3</CriminalCaseNumber>
				<CriminalCaseName>выарддд</CriminalCaseName>
				<ObjectAlias>Иванчег А.В. 88а-РЕГНОМЕР</ObjectAlias>
				<JoinOpu>0</JoinOpu>
				<Division Title="ДДДДД" Caption="84EFD93D-5E41-4225-BB11-3B02D03E9B75" />
				<TaskType>1</TaskType>
				<TaskMN>1596</TaskMN>
				<IMSI>25864</IMSI>
				<IMEI>654321</IMEI>
				<PrivacyLevel Title="Род" Caption="3" />
				<State>WithoutTaskMission</State>
			</ShortTask>
			<PhysAddress UniqueId="f814a845-7c36-49c6-bdf9-0bd12f36dcdd">
				<Region Title="Жук" />
				<Discrict Title="Майский" Caption="БОГ" />
				<Town Title="В. НОВГОРОД" Caption="В. " />
				<Street Title="Аврора" />
				<HouseNumber>646</HouseNumber>
				<Building>685</Building>
				<Flat>356</Flat>
			</PhysAddress>
			<Physical UniqueId="1fbf5bad-839f-4b57-81e5-f438aa40b085">
				<LastName Title="Козлов" Caption="ВАВ" />
				<FirstName Title="АПАР" Caption="АПА" />
				<Patronymic Title="ВАЛЕРЬЕВИЧ" Caption="ВАЛ" />
				<BirthDay>2015-05-14</BirthDay>
				<Sex Title="М" />
				<Alias>авпр</Alias>
				<EruditionLevelOrd Title="ДА" />
				<Accents>смве</Accents>
			</Physical>
			<TaskInitiator>
				<Subdivision Title="Таз" Caption="ОО" />
				<Agency Title="ЧКФ" />
				<FullName Title="Зайкин А.А." Caption="Комолов А.А." />
				<PhoneA>99599999</PhoneA>
				<PhoneB>841351418</PhoneB>
			</TaskInitiator>
			<Orientation>
				<CriminalDirection Title="КОНИКС" />
				<Citizenship Title="Роман" />
				<Nationality Title="Котят" />
				<CriminalCategory Title="Маркетинг" />
			</Orientation>
			<Target>
				<Target>впавквы ыва вап выфп асп</Target>
			</Target>
			<Sanction>
				<JuridicalOrder>156</JuridicalOrder>
				<Period>180</Period>
				<SanctionDate>2015-05-16</SanctionDate>
				<IsFromConnectionMoment>0</IsFromConnectionMoment>
				<SanctionPerson>
					<Agency>Москва</Agency>
					<Post>Руководитель</Post>
					<FullName>Молотов В.В.</FullName>
				</SanctionPerson>
			</Sanction>
			<AgencyDirectionAlt>
				<CaptionTo>РооРоо</CaptionTo>
				<CaptionFor>Казин А.А.</CaptionFor>
			</AgencyDirectionAlt>
			<TaskEffectiveness>
				<EffectivenessSign>0</EffectivenessSign>
				<JudgeLegalize>0</JudgeLegalize>
			</TaskEffectiveness>
			<CriminalClauses>
				<CriminalClause>
					<ParagraphNumber Title="109" Caption="Мороз" />
					<SubparagraphNumber>3</SubparagraphNumber>
				</CriminalClause>
			</CriminalClauses>
		</Task>
	</Data>
</TaskArchive>


Соответственно первейший вопрос - а покажите-ка структуру, в которую Вы желаете импортировать вот ЭТО...
...
Рейтинг: 0 / 0
11.01.2016, 11:31:23
    #39144374
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
Akina,

Я вижу эту таблицу так:
Код: sql
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.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
CREATE TABLE `xml` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`UserName` VARCHAR(50) NULL DEFAULT NULL,
`Division` VARCHAR(50) NULL DEFAULT NULL,
`ExportDate` VARCHAR(50) NULL DEFAULT NULL,
`ActivityDurationDays` VARCHAR(50) NULL DEFAULT NULL,
`Activity` VARCHAR(50) NULL DEFAULT NULL,
`CategoryType` VARCHAR(50) NULL DEFAULT NULL,
`Object_Title` VARCHAR(50) NULL DEFAULT NULL,
`Object_Caption` VARCHAR(50) NULL DEFAULT NULL,
`TaskNumber` VARCHAR(50) NULL DEFAULT NULL,
`TaskYear` VARCHAR(50) NULL DEFAULT NULL,
`TaskDate` VARCHAR(50) NULL DEFAULT NULL,
`BeginDate` VARCHAR(50) NULL DEFAULT NULL,
`EndDate` VARCHAR(50) NULL DEFAULT NULL,
`BlankNumber` VARCHAR(50) NULL DEFAULT NULL,
`ActivityPlace` VARCHAR(50) NULL DEFAULT NULL, 
`ActivityPhone` VARCHAR(50) NULL DEFAULT NULL,
`CriminalCase_Title` VARCHAR(50) NULL DEFAULT NULL,
`CriminalCase_Caption` VARCHAR(50) NULL DEFAULT NULL,
`CriminalCaseNumber` VARCHAR(50) NULL DEFAULT NULL,
`CriminalCaseName` VARCHAR(50) NULL DEFAULT NULL,
`ObjectAlias` VARCHAR(50) NULL DEFAULT NULL,
`JoinOpu` VARCHAR(50) NULL DEFAULT NULL,
`Division_Title` VARCHAR(50) NULL DEFAULT NULL,
`Division_Caption` VARCHAR(50) NULL DEFAULT NULL,
`TaskType` VARCHAR(50) NULL DEFAULT NULL,
`TaskMN` VARCHAR(50) NULL DEFAULT NULL,
`IMSI` VARCHAR(50) NULL DEFAULT NULL,
`IMEI` VARCHAR(50) NULL DEFAULT NULL,
`PrivacyLevel` VARCHAR(50) NULL DEFAULT NULL, 
`State` VARCHAR(50) NULL DEFAULT NULL,
`Region` VARCHAR(50) NULL DEFAULT NULL, 
`Discrict_Title` VARCHAR(50) NULL DEFAULT NULL,
`Discrict_Caption` VARCHAR(50) NULL DEFAULT NULL,
`Town_Title` VARCHAR(50) NULL DEFAULT NULL,
`Town_Caption` VARCHAR(50) NULL DEFAULT NULL,
`Street_Title` VARCHAR(50) NULL DEFAULT NULL,
`HouseNumber` VARCHAR(50) NULL DEFAULT NULL,
`Building` VARCHAR(50) NULL DEFAULT NULL,
`Flat` VARCHAR(50) NULL DEFAULT NULL,
`LastName_Title` VARCHAR(50) NULL DEFAULT NULL,
`LastName_Caption` VARCHAR(50) NULL DEFAULT NULL,
`FirstName_Title` VARCHAR(50) NULL DEFAULT NULL,
`FirstName_Caption` VARCHAR(50) NULL DEFAULT NULL,
`Patronymic_Title` VARCHAR(50) NULL DEFAULT NULL,
`Patronymic_Caption` VARCHAR(50) NULL DEFAULT NULL,
`BirthDay` VARCHAR(50) NULL DEFAULT NULL,
`Sex_Title` VARCHAR(50) NULL DEFAULT NULL,
`Alias` VARCHAR(50) NULL DEFAULT NULL,
`EruditionLevelOrd_Title` VARCHAR(50) NULL DEFAULT NULL,
`Accents` VARCHAR(50) NULL DEFAULT NULL,
`Subdivision_Title` VARCHAR(50) NULL DEFAULT NULL,
`Subdivision_Caption` VARCHAR(50) NULL DEFAULT NULL,
`Agency_Title` VARCHAR(50) NULL DEFAULT NULL,
`FullName_Title` VARCHAR(50) NULL DEFAULT NULL,
`FullName_Caption` VARCHAR(50) NULL DEFAULT NULL,
`PhoneA` VARCHAR(50) NULL DEFAULT NULL,
`PhoneB` VARCHAR(50) NULL DEFAULT NULL,
`CriminalDirection_Title` VARCHAR(50) NULL DEFAULT NULL,
`Citizenship_Title` VARCHAR(50) NULL DEFAULT NULL,
`Nationality_Title` VARCHAR(50) NULL DEFAULT NULL,
`CriminalCategory_Title` VARCHAR(50) NULL DEFAULT NULL,
`Target` VARCHAR(50) NULL DEFAULT NULL,
`JuridicalOrder` VARCHAR(50) NULL DEFAULT NULL,
`Period` VARCHAR(50) NULL DEFAULT NULL,
`SanctionDate` VARCHAR(50) NULL DEFAULT NULL,
`IsFromConnectionMoment` VARCHAR(50) NULL DEFAULT NULL,
`Agency` VARCHAR(50) NULL DEFAULT NULL,
`Post` VARCHAR(50) NULL DEFAULT NULL,
`FullName` VARCHAR(50) NULL DEFAULT NULL,
`CaptionTo` VARCHAR(50) NULL DEFAULT NULL,
`CaptionFor` VARCHAR(50) NULL DEFAULT NULL,
`EffectivenessSign` VARCHAR(50) NULL DEFAULT NULL,
`JudgeLegalize` VARCHAR(50) NULL DEFAULT NULL,
`ParagraphNumber_Title` VARCHAR(50) NULL DEFAULT NULL,
`ParagraphNumber_Caption` VARCHAR(50) NULL DEFAULT NULL,
`SubparagraphNumber` VARCHAR(50) NULL DEFAULT NULL,
	
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
...
Рейтинг: 0 / 0
11.01.2016, 11:44:02
    #39144391
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
adminsamaraЯ вижу эту таблицу так:
Структура приведённой таблицы НЕ СООТВЕТСТВУЕТ структуре приведённого XML-файла. Таблица - плоская, в то время как приведённый XML - дерево, и должен импортироваться в несколько таблиц.
...
Рейтинг: 0 / 0
11.01.2016, 11:48:19
    #39144397
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
AkinaadminsamaraЯ вижу эту таблицу так:
Структура приведённой таблицы НЕ СООТВЕТСТВУЕТ структуре приведённого XML-файла. Таблица - плоская, в то время как приведённый XML - дерево, и должен импортироваться в несколько таблиц.

Почему в несколько? ведь xml один
И если в несколько то какие должны быть таблицы?
...
Рейтинг: 0 / 0
11.01.2016, 12:10:09
    #39144427
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
adminsamaraПочему в несколько? ведь xml один
Да потому что ДЕРЕВО! Построй UNC для каждого атрибута - сам увидишь.
...
Рейтинг: 0 / 0
11.01.2016, 12:16:47
    #39144438
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
adminsamaraесли в несколько то какие должны быть таблицы?
Если смотреть только на структуру, не вникая в суть - то получается с десяток таблиц. Впрочем, их может оказаться и меньше, если предметная область устанавливает ограничения уникальности/единственности на вложенные объект-атрибуты.
...
Рейтинг: 0 / 0
11.01.2016, 14:43:41
    #39144600
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
а в одной таблице получается никак не сохранить?
...
Рейтинг: 0 / 0
11.01.2016, 14:52:12
    #39144614
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
Используя LOAD XML LOCAL INFILE - конечно, нет.
...
Рейтинг: 0 / 0
11.01.2016, 15:10:08
    #39144638
adminsamara
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
Akina,

А какими средствами это можно сделать?!
...
Рейтинг: 0 / 0
11.01.2016, 15:19:03
    #39144646
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
load xml local infile
У тебя есть некая объектная область, реализация которой отображена имеющимся XML-файлом.
У тебя есть некая структура в базе данных, которая, по твоему мнению, сможет отображать имеющуюся предметную область.
На основании диаграммы зависимости построй модель преобразования данных. На её основе напиши парсер/импортер, который выполнит приведение имеющегося XML к созданной структуре данных и их загрузку в таблицу(ы).

PS. Рекомендую делать этот парсер-импортер НЕ НА SQL.

PPS. Есть, конечно, альтернативный вариант - каскадная загрузка данных в таблицы (со сменой ROWS IDENTIFIED BY). Но при этом почти наверняка развалятся все связи.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / load xml local infile / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]