SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 08.02.2016 16:14:35

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Подскажите, как правильно написать скрипт импорта в БД из текстового файла

Добрый день!
Хочу написать bat файл импорта в БД MySQL. Но данные не отправляются что делаю не так? Компьютер под управлением Windows.


cd C:\WebServers\usr\local\mysql-5.5\bin\mysql -u root -p test
use printaccounting;
LOAD DATA INFILE 'C:/Users/u_08mb7/Desktop/Stat/Xerox_result.txt'
REPLACE INTO TABLE print
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
 



create database printaccounting  DEFAULT CHARACTER SET cp1251;
COLLATE cp1251_bin;
use printaccounting;
create table print(
IDprint INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Model VARCHAR(100) NOT NULL,
Block VARCHAR(100) NOT NULL,
Unit VARCHAR(80) NOT NULL,
Xnumber VARCHAR(80) NOT NULL,
Dprint DATE NOT NULL,
Snumber VARCHAR(80) NOT NULL,
Count INT NOT NULL,
IPaddress VARCHAR(80) NOT NULL
)
ENGINE=INNODB;

 

Неактивен

 

#2 08.02.2016 16:15:44

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

Если проделать эту операцию вручную все прекрасно работает.

Неактивен

 

#3 08.02.2016 16:25:47

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

В bat-файле нельзя писать команды так, как если бы Вы работали в интерактивном режиме в MySQL. Запишите требуемые команды в файл test.sql, а затем выполните

C:\WebServers\usr\local\mysql-5.5\bin\mysql -u root -p test < test.sql

Неактивен

 

#4 08.02.2016 16:52:09

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

тестовый файл у меня с разделителями вида:


"","Первое значение","Первое значение5","Первое значение6","Первое значение7",
"","Первое значение","Первое значение2","Первое значение3","Первое значение4",
 

Если я его оставлю в таком же виде только изменю имя test.sql это сработает?

Неактивен

 

#5 08.02.2016 17:06:21

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

В test.sql должны быть SQL-команды, а не данные

Неактивен

 

#6 08.02.2016 18:18:39

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

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

Неактивен

 

#7 08.02.2016 19:09:54

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

В bat-файле вызываете запуск sql-скриптa,
в котором уже находятся инструкции вида
LOAD DATA INFILE 'C:/Users/u_08mb7/Desktop/Stat/Xerox_result.txt'
и иже


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#8 08.02.2016 20:59:17

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

а как из бат файла вызвать sql скрипт на примере пожалуйста. Спасибо

Неактивен

 

#9 08.02.2016 21:12:58

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

Как выше rgbeast писал:

C:\WebServers\usr\local\mysql-5.5\bin\mysql -u root -p test < test.sql

эта строчка должна быть в bat-файле.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#10 08.02.2016 21:34:44

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

start.bat


cd C:\WebServers\usr\local\mysql-5.5\bin\
mysql -u root -p test < loaddata.sql
 


все верно?

Неактивен

 

#11 08.02.2016 21:38:42

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

Вероятно да, если пути совпадают.
Проверьте что start.bat выдаёт при исполнении.
Практика показывает, что путь лучше брать в кавычки, да и зачем использовать вход в директорию (cd)?

"C:\WebServers\usr\local\mysql-5.5\bin\mysql" -uroot -p test < chmmПУТЬ_К_ФАЙЛУ/loaddata.sql

лучше как-то так попробуйте.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#12 09.02.2016 06:23:35

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

не работает C:\WebServers\usr\local\mysql-5.5\bin\mysql" -u root -p test < loaddata.sql
Открывается окошко с консолью и запрашивает пароль, хотя пароль указан.

Неактивен

 

#13 09.02.2016 06:56:42

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

Указал пароль для соединения, но пароль все равно запрашивается, после ввода пароля данные не импортируются.
Что делаю не так? Как решить вопрос с паролем?
Мои файлы:
import_db.bat


@echo off
"C:\WebServers\usr\local\mysql-5.5\bin\mysql" -u root -p test < import.sql
 

import.sql

use printaccounting;
LOAD DATA INFILE 'C:/Users/u_08mb7/Desktop/Stat/Xerox_result.txt'
REPLACE INTO TABLE print
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
 

Неактивен

 

#14 09.02.2016 06:57:38

Tera2017
Завсегдатай
Зарегистрирован: 08.02.2016
Сообщений: 58

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

Если делать все это вручную, то все работает отлично.

Неактивен

 

#15 09.02.2016 09:45:28

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Подскажите, как правильно написать скрипт импорта в БД из текстового файла

Пароль нужно указать после -p без пробела, например -pPASSWORD

Неактивен

 

Board footer

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