Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Передача параметра из .bat в sql запрос / 6 сообщений из 6, страница 1 из 1
06.12.2013, 16:28:13
    #38492054
oldodin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра из .bat в sql запрос
Проблема в следующем:

Необходимо выполнить из .bat файла sql запрос с параметром, текст .bat:

Код: plaintext
mysql.exe -p -uroot < d:\1.sql  %1

текст файла 1.sql:
Код: plsql
1.
2.
3.
use test;
set names cp1251;
SELECT * FROM t1 WHERE t1.fam='%1' INTO OUTFILE 'd:\out.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';



Подскажите, как правильно передать параметр командной строки из батника в запрос?
...
Рейтинг: 0 / 0
06.12.2013, 18:25:14
    #38492260
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра из .bat в sql запрос
oldodin,

один из способов: создать таблицу zzz
в базе где хранить некие значения.
потом прямо перед запуском батника
задать щто значение из командной строки
и СКЛ в батнике прочитает это значение.

mysql -uuser -ppass -e "update zzz set param_val = 'Vasia Pupukin' where param_name='PAR34' "
mysql.exe -ppass -uroot < d:\1.sql

use test;
set names cp1251;
SELECT t1.*
FROM t1
WHERE t1.fam=(select zzz.param_val from zzz where param_name='PAR34')
INTO OUTFILE 'd:\out.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n';
...
Рейтинг: 0 / 0
06.12.2013, 21:09:23
    #38492404
oldodin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра из .bat в sql запрос
javajdbc
один из способов: создать таблицу zzz
в базе где хранить некие значения.


Спасибо большое! Но к сожалению этот вариант не подойдет, т.к. это база другой организации и мы туда никаких изменений вносить не можем. :(
...
Рейтинг: 0 / 0
06.12.2013, 21:37:11
    #38492426
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра из .bat в sql запрос
Ну попробуйте напролом в батнике написать:

mysql -uuser -ppass -e "use test;set names cp1251;
SELECT t1.*
FROM t1
WHERE t1.fam='%1'
INTO OUTFILE 'd:\out.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n';"

Ну или в батнике сделайте селект и
расписывайте резильтируюший строчки
уже средствами баша -- awk, sed, cut....
(или ДОС, кто там у вас?)....
...
Рейтинг: 0 / 0
07.12.2013, 02:50:23
    #38492553
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра из .bat в sql запрос
не помню почему, но я пошол по принципу

echo insert into actualdate values('%filename%'); >> .\tmp\tadd.lines

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

(задача была, качаем дамп , разархивируем, преобразуем, так как дамп не понятен был в чистом виде мелкософту, и гурзим в базу с добавочными действиями.)

ЗЫ
в итоге кстате счол что легче установить пхп, и оттуда ваять вместо батника - проче и функциональней язык, также на данный момент имееться очень рабочая версия эмуляции шела под виндоус. админ как долго не пытался доказывать что это лажа, пока что не удалось, ибо все что работает в этом шеле, гарантировано работает на серверах :) )
...
Рейтинг: 0 / 0
09.12.2013, 10:18:29
    #38493703
oldodin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача параметра из .bat в sql запрос
alex564657498765453не помню почему, но я пошол по принципу
echo insert into actualdate values('%filename%'); >> .\tmp\tadd.lines
тоесть в батнике формировал нужный готовый файл запросов, и потом его запускал.

Спасибо огромное! Пошел по тому же пути:
Код: plsql
1.
2.
3.
4.
echo use test; >> d:\request.sql
echo set names cp866; >> d:\request.sql
echo SELECT * FROM pplfoms WHERE pplfoms.fam='%1' INTO OUTFILE 'd:\out.txt' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY ':' LINES TERMINATED BY '\n'; >> d:\request.sql
mysql.exe -p -uroot < d:\request.sql


Все прекрасно работает. :)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Передача параметра из .bat в sql запрос / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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