Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как запускать SQLite из скрипта и скрипт из SQLite? / 15 сообщений из 15, страница 1 из 1
12.01.2010, 19:52
    #36406204
init01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
В общем-то SQLite не видел ни разу, поэтому вопросов много. И основную часть вопросов задам как дополнительные (чтобы много тем не создавать) :
1. Посоветуйте версию под Red Hat 4.7 или CentOS 5.2. Пока не знаю под что из этих двух буду устанавливать.
2. Посоветуйте электронную литературу. А то нашёл какие-то уроки как работать через php и ещё какие-то языки, я хочу просто через bash или sh.
3. Насколько SQLite мобильна? То есть если я и программную часть и базу установлю в один каталог, то могу потом тупо всё это переписывать на другой комп без переустановки? Или не такой уж тут и lite?

И основной вопрос:
Можно ли запустить скрипт изнутри SQLite?

В Oracle я бы сделал так:
Собрал бы скриптом нужные данные и записал их через переменные и echo в файл траляля.sql примерно в таком виде:
INSERT INTO PROJECT_SIZES (URENGOY) VALUES (230345);
INSERT INTO PROJECT_SIZES (YAKUTIYA) VALUES (63540);

Потом этим же скриптом вошёл бы в sqlplus вот так:
connect / as sysdba
и изнутри запустил бы файл @/путь/траляля.sql

Данные бы занеслись в таблицы.
И всё бы это исполнялось всего одним скриптом.

Как это всё осуществить в SQLite не представляю пока что.

В общем-то задача стоит тупо ежедневно смотреть размеры проектов. Их структура примерно такова:
/data1/medved
/data2/medved
/data3/medved
/data1/urengoy
/data2/urengoy
/data3/urengoy
/data1/yakutiya
/data2/yakutiya
/data3/yakutiya
То есть каждый проект хранится в нескольких директориях и необходимо считать размер каждой директории и общий размер проекта.

В связи с этим ещё один дополнительный теоритический вопрос:
Посоветуйте структуру базы.
То есть либо каждый день отдельная таблица, где столбцы будут data1, data2, data3, а строки - названия проектов?
Либо на каждый проект отдельная таблица, где также столбцы будут data1, data2, data3, а строки - даты?
Или тупо вообще одна огромная таблица?


Как забирать данные из базы, какие будут методы выборок, интерфейс - это следующая задача - буду читать литературу и разбираться.

В данный момент стоит задача запустить базу и просто собирать данные.




_________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
12.01.2010, 22:01
    #36406382
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Im27th1. Посоветуйте версию под Red Hat 4.7 или CentOS 5.2. Пока не знаю под что из этих двух буду устанавливать. Любую. Бери последнюю, не ошибешься.

Im27th2. Посоветуйте электронную литературу. А то нашёл какие-то уроки как работать через php и ещё какие-то языки, я хочу просто через bash или sh. Лучше букваря ничего нет: http://www.sqlite.org/docs.html

Im27th3. Насколько SQLite мобильна? То есть если я и программную часть и базу установлю в один каталог, то могу потом тупо всё это переписывать на другой комп без переустановки? Или не такой уж тут и lite? На все 100%. Если программа знает как найти файл базы на диске то подключаем и работаем.

Im27th И основной вопрос:
Можно ли запустить скрипт изнутри SQLite?
Можно.

Im27thПотом этим же скриптом вошёл бы в sqlplus вот так:
connect / as sysdba
и изнутри запустил бы файл @/путь/траляля.sqlСтандартный клиент называется sqlite3 и работать можно например так:
Код: plaintext
sqlite3 SomeDatabase.db .read SetOfCommands.sql


Im27thВ общем-то задача стоит тупо ежедневно смотреть размеры проектов. Их структура примерно такова:
/data1/medved
/data2/medved
/data3/medved
/data1/urengoy
/data2/urengoy
/data3/urengoy
/data1/yakutiya
/data2/yakutiya
/data3/yakutiya
То есть каждый проект хранится в нескольких директориях и необходимо считать размер каждой директории и общий размер проекта.А может тебе лучше CVS или его кузенов поставить?
...
Рейтинг: 0 / 0
12.01.2010, 22:53
    #36406443
init01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Ого!
Спасибо!

White Owl
Код: plaintext
sqlite3 SomeDatabase.db .read SetOfCommands.sql


Ничё не понял.
sqlite3 - это типа sqlplus?
SomeDatabase.db - это видимо моя база
.read SetOfCommands.sql - прочитать этот файл
Пойду-ка я почитаю учебник по Вашей ссылке.

White Owl
А может тебе лучше CVS или его кузенов поставить?


Это кто ещё такие? Можете дать по этому чуду учебник?
...
Рейтинг: 0 / 0
12.01.2010, 23:54
    #36406523
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Im27thWhite Owl
Код: plaintext
sqlite3 SomeDatabase.db .read SetOfCommands.sql
Ничё не понял.все правильно понял.

Im27thЭто кто ещё такие? Можете дать по этому чуду учебник?CVS: http://en.wikipedia.org/wiki/Concurrent_Versions_System
...
Рейтинг: 0 / 0
13.01.2010, 01:12
    #36406582
MBG
MBG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Для описанной задачи достаточно текстового файла с данными, который заполняете, например, так:
Код: plaintext
echo `date +%F` `du -h директория|xargs`  >> data.txt
и простенького скрипта для отрисовки графиков в gnuplot.
...
Рейтинг: 0 / 0
13.01.2010, 16:03
    #36407884
init01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
White OwlIm27th1. Посоветуйте версию под Red Hat 4.7 или CentOS 5.2. Пока не знаю под что из этих двух буду устанавливать. Любую. Бери последнюю, не ошибешься.

Только вот я не понял - я скачал файл sqlite3-3.6.22.bin - это и есть весь SQLite? Больше ничего устанавливать не надо?

Да, и с таблицей чего-то я ступил. Реально создать одну таблицу с полями ПРОЕКТ, РАСПОЛОЖЕНИЕ, ДАТА, РАЗМЕР, сделать ключ по полю ПРОЕКТ или по ДАТЕ тоже сделать и всё.

Посмотрел про CVS - интересно, но громоздко.
...
Рейтинг: 0 / 0
13.01.2010, 16:34
    #36407989
init01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
И ещё вопрос: А даты то в каком виде заносить? В текстовом?


___________________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
13.01.2010, 17:49
    #36408187
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Im27thТолько вот я не понял - я скачал файл sqlite3-3.6.22.bin - это и есть весь SQLite? Больше ничего устанавливать не надо?В данном случае ты выкачал инсталлятор который надо бы запустить :)
Но вообще-то, SQLite это встраиваемая БД. Выкачивай лучше исходник-амальгаму и подключай sqlite3.h и sqlite3.c в свой проект как один из модулей. Никакой инсталляции вообще делать не прийдется.
...
Рейтинг: 0 / 0
13.01.2010, 17:52
    #36408199
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Im27thИ ещё вопрос: А даты то в каком виде заносить? В текстовом?У sqlite нету типа даты. Поэтому заноси в любом удобном тебе. Проще всего действиетльно в текстовом формате. Подробнее читай в букваре главу про функции работы с датами.
...
Рейтинг: 0 / 0
13.01.2010, 20:41
    #36408471
init01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Так запускал этот bin, а он входит внутрь как в sqlplus и даже базу создаёт, но таблицы создавать не хочет.

В общем забил, скачал другой дистрибутив, установил. Создал базу. Создал таблицу. Дату разбил на три поля integer ДЕНЬ, МЕСЯЦ, ГОД, пусть будет.
Только вот не смог посмотреть таблицу - select ничего не выводит, таблица ж пустая, а команды desc нету.

Скрипт написал. Скрипт создал файл траляля.sql с кучей insertов. Завтра попробую загнать в базу.

СПАСИБО!


_________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
13.01.2010, 20:47
    #36408479
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Im27thа команды desc нету.Отвыкай от ораклевых привычек.
В стандартной консоли есть команда .shema TABLE . А еще там есть команда .help о которой сообщается при старте консоли.
...
Рейтинг: 0 / 0
14.01.2010, 10:21
    #36408981
init01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
>sqlite3 pr_size.db .read nowdata.sql
sqlite3: Error: too many options: "nowdata.sql"
Use -help for a list of options.

Прокатило вот так:
>sqlite3 pr_size.db ".read nowdata.sql"

В общем база начинает пополняться. Спасибо за помощь.

Теперь надо выбрать средство, чтобы вытаскивать данные, наверное желательно через браузер. Видимо php прийдётся изучать. Не подскажете какую-нибудь готовую форму, вытаскивающую данные из одной таблицы? А уже на этой основе попробую начать изучать php.




___________________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
14.01.2010, 11:23
    #36409212
init01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Скрипт таков:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#!/bin/sh
rm -f /sqlite/nowdata.sql
YESTERDAY=`date "+%d"`
YESTERMONTH=`date "+%m"`
YESTERYEAR=`date "+%Y"`
for i in { 0 , 1 , 2 , 3 }
do
ALLPRJ=`find /data/dd$i -maxdepth  1  -mindepth  1  -type d | cut -d/ -f4`
echo $ALLPRJ
for word in $ALLPRJ
do
CURPRJ=$word
PRSIZE=`du -s -m /data/dd$i/$CURPRJ | cut -f1`
echo $PRSIZE
STR="INSERT INTO PR_SIZE (PROJECT, DIRECTORY, DAY, MONTH, YEAR, SIZE) VALUES ('"$CURPRJ"', 'dd"$i"', '"$YESTERDAY"', '"$YESTERMONTH"', '"$YESTERYEAR"', '"$PRSIZE"');"
echo $STR >> /sqlite/nowdata.sql
done;
done;
/sqlite/sqlite3 /sqlite/pr_size.db ".read /sqlite/nowdata.sql"
cp /sqlite/pr_size.db /arch/pr_size.$YESTERDAY

А можно .db просто копировать без всяких backup и restore?
Помнится в MS SQL такое можно было.

А выборку скорее всего надо будет делать по временному диапазону и выбору нескольких проектов либо из списка, либо по части слова (к примеру все ямбургские проекты имеют названия типа yamb_seis, yam2009, yamb3D).




__________________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
14.01.2010, 15:20
    #36410073
init01
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Может для отображения данных использовать просто SQLite Expert Professional ?
Это что за зверь?
Он бесплатный?
Он с одного компа увидит базу на другом?
Просто на работе нет возможности качать, поэтому интересуюсь искать что-то другое или на выходных дома скачать.




__________________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
14.01.2010, 16:21
    #36410279
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как запускать SQLite из скрипта и скрипт из SQLite?
Im27thМожет для отображения данных использовать просто SQLite Expert Professional ?Можно и его, если консоль неудобна.
Im27thЭто что за зверь?
Он бесплатный? http://www.sqliteexpert.com ?
Im27thОн с одного компа увидит базу на другом?Это вопрос к SQLite, а не к среде разработки. SQLite видит БД, если она на зашаренном
сетевом дисковом ресурсе. Но SQLite не лучшее решение для многопользовательского
доступа к БД лежащей на сетевом ресурсе !
Im27thпоэтому интересуюсь искать что-то другоеНиже в форуме есть тема Среда разработки для SQLite . Там и вопрошай.
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как запускать SQLite из скрипта и скрипт из SQLite? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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