SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#26 10.01.2011 17:37:06

Twix
Завсегдатай
Зарегистрирован: 21.02.2008
Сообщений: 88

Re: Работа из .bat файла

Сценарий для загрузки данных (см. вложение).


Прикрепленные файлы:
Attachment Icon load_data.txt, Размер: 1,485 байт, Скачано: 767

Неактивен

 

#27 10.01.2011 17:38:44

Twix
Завсегдатай
Зарегистрирован: 21.02.2008
Сообщений: 88

Re: Работа из .bat файла

Данные для загрузки в БД ( см. вложение).


Прикрепленные файлы:
Attachment Icon 214.txt, Размер: 125 байт, Скачано: 727

Неактивен

 

#28 10.01.2011 17:45:23

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Работа из .bat файла

Таак, а кусок данных? smile

Неактивен

 

#29 10.01.2011 17:49:22

Twix
Завсегдатай
Зарегистрирован: 21.02.2008
Сообщений: 88

Re: Работа из .bat файла

paulus написал:

Таак, а кусок данных? smile

В сообщении №27

Неактивен

 

#30 10.01.2011 22:54:43

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Работа из .bat файла

Таак, ясно, не посмотрел на вторую страницу smile

Вот, что я сделал:
1. Перевел локальную консоль в cp1251;
2. Добавил в файле создания структуры SET NAMES cp1251 в начало файла;
3. Выполнил mysql < QUALITY.txt
4. Зашел в mysql, выполнил SET NAMES cp1251.
5. Выполнил загрузку данных командой
load data infile '/tmp/214.txt' into table tb_214 character set cp1251 fields terminated by ';' ( `Кокиль`, `Дефект`,`Локация` , `Автор`, `Стержень`);
6. Убедился, что работает:

Код:

[silentia] root quality > select * from tb_214;
+----+------------+--------+--------+---------+-------+----------+
| id | Дата       | Кокиль | Дефект | Локация | Автор | Стержень |
+----+------------+--------+--------+---------+-------+----------+
       |000-00-00 |     27 |    751 | 4П6     | Ы     | 5
       |000-00-00 |      2 |    751 | 4Д6     | О     | 7
       |000-00-00 |     69 |    751 | 4В6     | Э     | 5
       |000-00-00 |     23 |    751 | 4О6     | 7     | 5
       |000-00-00 |     81 |    751 | 4Ш6     | 8     | 5
       |000-00-00 |      4 |    751 | 4Ф6     | Г     | 6
       |000-00-00 |     29 |    751 | 4Л6     | 2     | 5
|  8 | 0000-00-00 |     18 |    751 | 4Д6     | Ц     | 4        |
+----+------------+--------+--------+---------+-------+----------+
8 rows in set (0.00 sec)

[silentia] root quality > show create table tb_214\G
*************************** 1. row ***************************
       Table: tb_214
Create Table: CREATE TABLE `tb_214` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Дата` date NOT NULL DEFAULT '0000-00-00',
  `Кокиль` tinyint(2) unsigned NOT NULL,
  `Дефект` smallint(3) unsigned NOT NULL,
  `Локация` varchar(4) NOT NULL,
  `Автор` varchar(3) DEFAULT ' ',
  `Стержень` varchar(3) DEFAULT ' ',
  PRIMARY KEY (`id`,`Дата`,`Кокиль`,`Дефект`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=cp1251
1 row in set (0.00 sec)

Неактивен

 

#31 11.01.2011 20:33:37

Twix
Завсегдатай
Зарегистрирован: 21.02.2008
Сообщений: 88

Re: Работа из .bat файла

Так, начал выполнение по пунктам.

* Открыл в Винде меню Пуск -> Выполнить -> cmd (открыли командную строку ).
Далее переводим кодировку  :      C:\Documents and Settings\Владимир>chcp 1251
Текущая кодовая страница: 1251

* Добавил в файле создания структуры SET NAMES cp1251 в начало файла


SET NAMES cp1251;

--
-- Create schema quality
--

CREATE DATABASE  quality DEFAULT CHARACTER SET cp1251;
USE quality;

--
-- Definition of table `tb_183`
--


CREATE TABLE `tb_183`(
`id` int(10) unsigned   auto_increment,
`Дата` date   ,
`Кокиль` tinyint(2) unsigned NOT NULL ,
`Дефект` smallint(3) unsigned NOT NULL ,
`Локация` varchar(4) NOT NULL ,
`Автор` varchar(3)  default ' ',
`Стержень` varchar(3)   default ' ',
PRIMARY KEY(`id`,`Дата`,`Кокиль`,`Дефект`)

)ENGINE=InnoDB  AUTO_INCREMENT=1;
....
....
....
 


Далее в командной строке производим загрузку БД "QUALITY" командой mysql< QUALITY.txt
получаю сообщение об ошибке "C:\Documents and Settings\Владимир>mysql< QUALITY.txt
Не удается найти указанный файл."
Правил путь к вышеупомянутому файлу , но получал другое сообщение об ошибке C:\Documents and Settings\Владимир>mysql< C:\QUALITY.txt
ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)
Эксперименты с слешами и ковычками не помогли .
Источники данных 'ODBC' настроил.
???

Отредактированно Twix (11.01.2011 20:42:45)

Неактивен

 

#32 11.01.2011 23:41:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Работа из .bat файла

Нене, просто укажите правильные имя и пароль для подключения.
Например, mysql -uroot -ppassword < QUALITY.txt

Неактивен

 

#33 12.01.2011 21:17:02

Twix
Завсегдатай
Зарегистрирован: 21.02.2008
Сообщений: 88

Re: Работа из .bat файла

Да спасибо за подсказку , у меня нет опыта администрирования посредством манипуляций в Виндовой командной строке.
Произвёл , указанную Вами манипуляцию по загрузке структуры БД из файла QUALITY.txt и получил сообщение об ошибке !?, хотя при компиляции непосредственно в MySQL Command Line Client вопросов не возникало.

C:\Documents and Settings\Владимир>chcp 1251
Текущая кодовая страница: 1251

C:\Documents and Settings\Владимир>mysql -u root -pTwix < C:\QUALITY.txt
ERROR 1064 (42000) at line 16: You have an error in your SQL syntax; check the manual that
 corresponds to your MySQL server version for the right syntax to use near 'я` varchar(5)
NOT NULL,
`Автор` varchar(3)  default '
',
`Стержень` varchar(3)  '
at line 6


По моему MySQL server не очень устраивает отсутствие значения по умолчанию для столбца `Дата` ???


Прикрепленные файлы:
Attachment Icon QUALITY.txt, Размер: 6,135 байт, Скачано: 866

Неактивен

 

#34 12.01.2011 21:53:37

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Работа из .bat файла

АААааа, сколько же проблем с виндоус smile

Ему не нравится не дата. Ему не нравится маленькая буква я. Я могу даже
сказать, почему. В 1251 у буквы я код 255. Старые терминалы трактуют этот
символ как экранировочный. Как это обойти в виндовом терминале — не
представляю.

Попробуйте преобразовать файл в utf8 и заменить в нем SET NAMES.

Еще, говорят, в виндоус есть powershell. Возможно, в нем будет работать.

Неактивен

 

#35 12.01.2011 22:00:39

Twix
Завсегдатай
Зарегистрирован: 21.02.2008
Сообщений: 88

Re: Работа из .bat файла

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

Неактивен

 

#36 12.01.2011 22:26:13

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Работа из .bat файла

Угу. Поименуйте колонки латинскими словами — избавитесь от половины проблем.

Вы первый, кто старается именовать столбцы по-русски smile Желание понятно и
я его всячески одобряю, но только вот ПО пока не готово для работы по-русски
в консоли sad

Неактивен

 

#37 13.01.2011 18:29:13

Twix
Завсегдатай
Зарегистрирован: 21.02.2008
Сообщений: 88

Re: Работа из .bat файла

Наверно так и прийдётся сделать, проблем явно станет меньше. Только вот данные для загрузки всё равно будут из кириллицы , не возникнут ли проблемы с отображением ???

Неактивен

 

#38 13.01.2011 23:58:04

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Работа из .bat файла

С кодировкой данных, вроде бы, люди справляются smile

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson