powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Insert из excel в oracle
7 сообщений из 7, страница 1 из 1
Insert из excel в oracle
    #38532491
qwertysx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формучане, добрый вечер!

Возникла следующая проблема. В Excele макросом создаю запрос. Обычный insert into table.
Insert рабочий, ошибок нет. При запуске макроса происходит следующее. Макрос отрабатывает с ошибкой "Запрос не выполняется или не удается открыть таблицу базы данных". При это сам insert отрабатывает, то есть данные в таблице появляются.

Собственно, можно попробовать написать обработку ошибки, но хочется понять в чем проблема. Если кто сталкивался с подобным, поделитесь опытом.

Select-ы макрос выполняет, проблемы только с insert-ом. Права на таблицу у меня все есть.
...
Рейтинг: 0 / 0
Insert из excel в oracle
    #38532686
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
open <> execSql
...
Рейтинг: 0 / 0
Insert из excel в oracle
    #38532728
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwertysxЕсли кто сталкивался с подобным, поделитесь опытом.Раз оракл отрабатывает нормально, а ругается эксель, значит, дело в экселе. Если andreymx не угадал, давайте код макроса.
...
Рейтинг: 0 / 0
Insert из excel в oracle
    #38532734
qwertysx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот код макроса:

Код: vbnet
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.
Sub DWH(SHEET As String, query As String, bool As Boolean, rownum As Integer)
   
    Dim i As Long
    query = "INSERT INTO RU_KOSE.TASK_INFO_EXT(TASK_ID, IDOBJ) VALUES (18,63641852);"

   ' On Error GoTo ErrorHandler
    With Sheets(SHEET).QueryTables.Add( _
        connection:="OLEDB;Provider=OraOLEDB.Oracle.1;Password=RU_KOSE;Persist Security Info=True;User ID=RU_KOSE;Data Source=RSK", Destination:=Sheets(SHEET).Cells(rownum, 1))
        'provider = MSDAORA.1;user id=zhuk;password=Htfkbyr;Data Source=DWHRU", Destination:=Sheets("Query").Cells(i, 1))
        'conn, Destination:=sh.Cells(i, 1))
        'Sheets("Query").Cells(10, 1) = query
        
        .CommandText = query
        .Name = "Query1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .MaintainConnection = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=bool
'ErrorHandler:
            
    End With
   ' If i > 1 Then Sheets("Query").Rows(i).Delete shift:=xlUp
End Sub



Модератор: Тема перенесена из форума "Oracle".

Учимся использовать тэги оформления кода - FAQ
...
Рейтинг: 0 / 0
Insert из excel в oracle
    #38533022
rockclimber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx угадал - вы пытаетесь сделать select, то есть используете код, который ожидает от оракла рекордсет, а потом этот рекордсет распихивает по ячейкам.
Я последний раз программировал что-то подобное лет шесть назад, помню плохо, что надо делать. Там есть объект то ли Command, то ли ADORecordSet, а у того объекта есть метод Execute, вот его и надо использовать.
...
Рейтинг: 0 / 0
Insert из excel в oracle
    #38533193
qwertysxФормучане, добрый вечер!

Возникла следующая проблема. В Excele макросом создаю запрос. Обычный insert into table.
Insert рабочий, ошибок нет. При запуске макроса происходит следующее. Макрос отрабатывает с ошибкой "Запрос не выполняется или не удается открыть таблицу базы данных". При это сам insert отрабатывает, то есть данные в таблице появляются.

Собственно, можно попробовать написать обработку ошибки, но хочется понять в чем проблема. Если кто сталкивался с подобным, поделитесь опытом.

Select-ы макрос выполняет, проблемы только с insert-ом. Права на таблицу у меня все есть.
Создавай объект ADO Connection и выполняй инструкции insert update delete так:
Код: vbnet
1.
Connection.Execute MySQLText
...
Рейтинг: 0 / 0
Insert из excel в oracle
    #38533748
qwertysx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо! Проблема решена. Действительно, дело было в коннекте.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Insert из excel в oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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