Re: Wine и телефонный справочник
Добавлено: 02 ноя 2009 10:40
ладно, найду базу 2008, посмотрю, что там, а то пальцем в небо тыкаю... ждите ответа.
Форум группы пользователей Linux города Владивостока и окрестностей
https://forum.linuxdv.org/
я тебе в личку скинул линк на скачкуЛимон писал(а):ладно, найду базу 2008, посмотрю, что там, а то пальцем в небо тыкаю... ждите ответа.
Код: Выделить всё
#!/bin/bash
# Программа конвертирует формат базы данных из ms access в sqlite3.
# В исходной БД должна быть таблица kray с пятью полями.
# В результирующей БД будет соответствующая таблица с именем phones
# и полями number, owner, street, house, flat.
# Символы перевода строки при конвертации заменяются на другой символ.
# Это вынужденная мера из-за ограниченности импорта sqlite3.
# Единственная возможность импортировать такие символы - это
# импорт через SQL-выражения. Учитывая ресурсоемкость этого метода
# и бесполезность этих символов в конвертируемой БД, принято решение
# заменить их символом '|'.
# Параметры:
IN=tel_base.mdb # исходная БД
OUT=tel_base.db # результат
TRNL="|" # заменитель символов перевода строки
#################
RSEP=$'\036' # разделитель записей
FSEP=$'\037' # разделитель полей
TMPFILE=tmp.exp # промежуточный временный файл
rm "$OUT" -f
sqlite3 "$OUT" 'CREATE TABLE phones (number CLOB, owner CLOB, street CLOB, house CLOB, flat CLOB);'
mdb-export -H -Q -d $FSEP -R $RSEP "$IN" kray | tr "$RSEP\n\r" "\n$TRNL$TRNL" > $TMPFILE
echo -e ".separator $FSEP\n.import $TMPFILE phones" | sqlite3 "$OUT"
rm -f "$TMPFILE"
echo -n "Готово. Всего записей: "
sqlite3 $OUT "select count(*) from phones;"НЕА Может я чего не доустановилЛимон писал(а):версия для базы 2008 годаКод: Выделить всё
#!/bin/bash # Программа конвертирует формат базы данных из ms access в sqlite3. # В исходной БД должна быть таблица kray с пятью полями. # В результирующей БД будет соответствующая таблица с именем phones # и полями number, owner, street, house, flat. # Символы перевода строки при конвертации заменяются на другой символ. # Это вынужденная мера из-за ограниченности импорта sqlite3. # Единственная возможность импортировать такие символы - это # импорт через SQL-выражения. Учитывая ресурсоемкость этого метода # и бесполезность этих символов в конвертируемой БД, принято решение # заменить их символом '|'. # Параметры: IN=tel_base.mdb # исходная БД OUT=tel_base.db # результат TRNL="|" # заменитель символов перевода строки ################# RSEP=$'\036' # разделитель записей FSEP=$'\037' # разделитель полей TMPFILE=tmp.exp # промежуточный временный файл rm "$OUT" -f sqlite3 "$OUT" 'CREATE TABLE phones (number CLOB, owner CLOB, street CLOB, house CLOB, flat CLOB);' mdb-export -H -Q -d $FSEP -R $RSEP "$IN" kray | tr "$RSEP\n\r" "\n$TRNL$TRNL" > $TMPFILE echo -e ".separator $FSEP\n.import $TMPFILE phones" | sqlite3 "$OUT" rm -f "$TMPFILE" echo -n "Готово. Всего записей: " sqlite3 $OUT "select count(*) from phones;"
хочешь, чтобы у тебя этот скрипт заработал?antichrist писал(а): НЕА Может я чего не доустановил
угуЛимон писал(а):хочешь, чтобы у тебя этот скрипт заработал?antichrist писал(а): НЕА Может я чего не доустановил
Я записал его в текстовый документ, сделал его исполняемым, запустил в директории с базой, он все сделал, выплюнул базу. А тот файл его все равно не подхватывает.antichrist писал(а):угуЛимон писал(а):хочешь, чтобы у тебя этот скрипт заработал?antichrist писал(а): НЕА Может я чего не доустановил
покажи вывод скриптаantichrist писал(а):угуЛимон писал(а):хочешь, чтобы у тебя этот скрипт заработал?antichrist писал(а): НЕА Может я чего не доустановил
у меня экспорт работает, LANG=ru_RU.UTF-8antichrist писал(а):У тебя у самого хоть работает? Какая локаль стоит?
Готово. Всего записей: 4747006