Гость
Map
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Импорт данных из access в sqlite / 8 сообщений из 8, страница 1 из 1
24.05.2015, 22:45
    #38967423
avicena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных из access в sqlite
Здравствуйте. НЕ могу перевести данные из access в sqlite. Всё, что есть - то платное. четыреста записей в связанной таблице.
Форум просмотрел, толком ничего не нашёл.
...
Рейтинг: 0 / 0
24.05.2015, 23:38
    #38967440
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных из access в sqlite
CSV это слишком сложно?
...
Рейтинг: 0 / 0
25.05.2015, 22:09
    #38968239
avicena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных из access в sqlite
access в CSV перевёл, а как в SQLITE перевести?
...
Рейтинг: 0 / 0
25.05.2015, 22:20
    #38968240
MrCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных из access в sqlite
Например, используя SQLite Browser .
...
Рейтинг: 0 / 0
25.05.2015, 22:27
    #38968243
MrCat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных из access в sqlite
Ого, она умеет это из коробки! Правда, говорят, что информация устарела, но у Вас есть возможность проверить, насколько она устарела, и рассказать нам.
...
Рейтинг: 0 / 0
26.05.2015, 05:21
    #38968287
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных из access в sqlite
MrCat,
Как ты ищешь? Зайди на главную страницу sqlite.org. В правом верхнем углу - строка поиска. Введи туда CSV и нажми search.
...
Рейтинг: 0 / 0
27.05.2015, 22:04
    #38970211
avicena
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных из access в sqlite
Разобрался, с помощью OpenOffice и sqlite manager. пусть дольше, но без потери данных и крякозябов.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
09.06.2021, 13:54
    #40076610
JeyCi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Импорт данных из access в sqlite
рабочий код Python отсюда - не уверена, что сохранит ту же схему бд - но таблички перенесёт
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
import pyodbc
import sqlite3
from collections import namedtuple
import re
import sys
import os

usage = '''
Usage: mdb2sqlite.py <input.mdb> <output.sqlite>
'''

filename_in = os.path.abspath(sys.argv[-2])
filename_out = sys.argv[-1]

cnxn = pyodbc.connect('Driver={{Microsoft Access Driver (*.mdb, *.accdb)}};Dbq={};'.format(filename_in))

cursor = cnxn.cursor()

conn = sqlite3.connect(filename_out)
c = conn.cursor()

Table = namedtuple('Table', ['cat', 'schem', 'name', 'type'])

# get a list of tables
tables = []
for row in cursor.tables():
    if row.table_type == 'TABLE':
        t = Table(row.table_cat, row.table_schem, row.table_name, row.table_type)
        tables.append(t)

for t in tables:
    print t.name
    
    # SQLite tables must being with a character or _
    t_name = t.name
    if not re.match('[a-zA-Z]', t.name):
        t_name = '_' + t_name

    # get table definition
    columns = []
    for row in cursor.columns(table=t.name):
        print '    {} [{}({})]'.format(row.column_name, row.type_name, row.column_size)
        col_name = re.sub('[^a-zA-Z0-9]', '_', row.column_name)
        columns.append('{} {}({})'.format(col_name, row.type_name, row.column_size))
    cols = ', '.join(columns)
        
    # create the table in SQLite
    c.execute('DROP TABLE IF EXISTS "{}"'.format(t_name))
    c.execute('CREATE TABLE "{}" ({})'.format(t_name, cols))
    
    # copy the data from MDB to SQLite
    cursor.execute('SELECT * FROM "{}"'.format(t.name))
    for row in cursor:
        values = []
        for value in row:
            if value is None:
                values.append(u'NULL')
            else:
                if isinstance(value, bytearray):
                    value = sqlite3.Binary(value)
                else:
                    value = u'{}'.format(value)
                values.append(value)
        v = ', '.join(['?']*len(values))
        sql = 'INSERT INTO "{}" VALUES(' + v + ')'
        c.execute(sql.format(t_name), values)

conn.commit()
conn.close()
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Импорт данных из access в sqlite / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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