Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для eritik
18 / 19 / 5
Регистрация: 14.09.2015
Сообщений: 104

Перенос данных из Oracle в MS sql

30.06.2022, 08:52. Показов 1041. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет.
по наследству достался скрипт по переносу данных из Oracle в MS sql.
к сожалению через Квери нет возможности сразу сделать проброс данных, видимо поэтому мой предшественник реализовал все через Python.
В текущем варианте скрипта все работает, но при добавлении дополнительных столбцов в запрос, данные не приходят в конечную таблицу MS.
Данные точно есть, т.к. при запросе в pl/sql я их вижу), но в MS приходит NULL
может есть какие-то особенности при указании типа данных или лимит по количеству переносимых столбцов?
при добавлении нового столбца в запрос - создал его в конечной табл, добавил в скрипте VALUES(..., ?) и , row[70]


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
import cx_Oracle
import pyodbc
import pandas
import datetime
now = datetime.datetime.now()
print('START...' + str(now))
server = '******************'
database = '********'
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER=' + server + ';DATABASE=' + database + ';Trusted_Connection=yes;')
cursor = cnxn.cursor()
dsn = cx_Oracle.makedsn(
    ****************,
    '******',
    service_name='***************'
)
 
conn = cx_Oracle.connect(
    user='user',
    password='pwd',
    dsn=dsn)
 
c = conn.cursor()
print('Подключение установлено_'+ str(datetime.datetime.now()))
print('................................................................')
print('Начинаем выгрузку из ЕХД _'+ str(datetime.datetime.now()))
 
c.execute("""
SELECT DISTINCT
MAIN.column1,
MAIN.column2,
…….,
MAIN.column71
From table MAIN
Where MAIN.column2 >= to_date('2022-06-20', 'YYYY-MM-DD')
""")
print('Скрипт выгружен_'+ str(datetime.datetime.now()))
cursor.execute('TRUNCATE TABLE [REPORT].[dbo].[LOAD_06];')
print('Начинаем выгрузку в LOAD_06_'+ str(datetime.datetime.now()))
print('......................................................................')
for row in c.fetchall():
    cursor.execute(
    """INSERT INTO LOAD_06
    ([column1],
    [column2],
    […..]
    [column71]
)
    VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
    ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)""",
    row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16],
    row[17], row[18], row[19], row[20], row[21], row[22], row[23], row[24], row[25], row[26], row[27], row[28], row[29], row[30], row[31], row[32],
    row[33], row[34], row[35], row[36], row[37], row[38], row[39], row[40], row[41], row[42], row[43], row[44], row[45], row[46], row[47], row[48],
    row[49], row[50], row[51], row[52], row[53], row[54], row[55], row[56], row[57], row[58], row[59], row[60], row[61], row[62], row[63], row[64],
    row[65], row[66], row[67], row[68], row[69], row[70])
    cnxn.commit()
 
conn.close()
cnxn.close()
now1 = datetime.datetime.now()
print('Выгрузка в LOAD_06 завершена_'+ str(now1d))
print('Время выполнения_'+ str(now- now1))
Добавлено через 1 час 11 минут
... очень странно, но если последний добавленный столбец запихиваю в середину селекта, то данные приходят ?)
SQL
1
2
3
4
5
6
7
8
SELECT DISTINCT
MAIN.column1,
MAIN.column71 -- (???)
MAIN.column2,
…….,
MAIN.column70
FROM TABLE MAIN
WHERE MAIN.column2 >= to_date('2022-06-20', 'YYYY-MM-DD')
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.06.2022, 08:52
Ответы с готовыми решениями:

Перенос данных из exel в oracle
Здравствуйте! Подскажите как можно за небольшой промежуток времени перенести большое количество записей в таблицах exel в oracle?...

Перенос географических данных из Oracle в MSSQL
Доброго времени суток. Столкнулся с проблемой переноса данных типа SDO_GEOMETRY из таблицы Oracle в таблицу MS SQL. Для переноса данных...

Перенос базы данных Access - Oracle
Ребят,подскажите как перенести базу из accses в оракл?

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.06.2022, 08:52
Помогаю со студенческими работами здесь

Перенос данных из Excel в две таблицы баз данных SQL-Server
Люди добрые помогите пожалуйста. Есть таблица Excel, я сделал перенос всех данных из нее в таблицу SQL-Server. Нужно, чтобы паралельно...

Переработать базу данных из SQL в Oracle
Помогите нужно переработать базу данных в pl/sql Oracle используя (тригери,процедуры,аноним. блоки,функции).Вот мой скрипт на SQL ...

Разработчик баз данных Oracle (PL/SQL)
Обязанности: Разработка высоконагруженных баз данных для программных комплексов анализа и обработки информации. Разработка механизмов...

Импорт данных из Oracle в SQL Server
Из одной таблицы в оракловой БД нужно скопировать данные в таблицу MS SQL средствами c# VS08. Делаю так: string connectionString1 =...

Специалист по базам данных Oracle PL/SQL
На проект для работы с заказчиком из США требуется специалист со знанием Oracle PL/SQLv8 (хорошее знание), SYbase 12.5, SQL server 8.0,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru