Добрый день. Перечитал схожие темы, пересмотрел примеры, но еще больше запутался.
Есть база Oracle, на ПК установлен Oracle Runtime. Больше ничего установить нельзя, это важный момент.
Также имеется утилита, которая лазит в базу и сравнивает значения из двух таблиц.
Пытаюсь написать ей замену, так как она устарела и не работает на Win10.
Для подключения к базе используется строка
Provider=MSDAORA.1;Password=qwerty;User ID=baseuser;Data Source=BAZA1;Persist Security Info=True
Подскажите, как средствами HiASM подключиться к базе, исходя из имеющихся данных?
Этот топик читают: Гость
Ответов: 53
Рейтинг: 3
|
|||
карма: 1 |
|
Ответов: 814
Рейтинг: 176
|
|||
De_Cadanz писал(а): Подскажите, как средствами HiASM подключиться к базе, исходя из имеющихся данных?Запусти схему на компьютере с базой Oracle. Загорается светодиод?
|
|||
карма: 16 |
| ||
Голосовали: | De_Cadanz |
Ответов: 53
Рейтинг: 3
|
|||
Gunta писал(а): Запусти схему на компьютере с базой Oracle. Загорается светодиод?
Если имелось в виду запустить на сервере с базой - то меня туда никто не пустит. Если же на рабочем компе - не загорается ничего. Долго думает и выдаёт ошибку -2147467259. |
|||
карма: 1 |
|
Ответов: 814
Рейтинг: 176
|
|||
De_Cadanz писал(а): Если имелось в виду запустить на сервере с базой - то меня туда никто не пустит.Тогда источник данных должен выглядеть как-то так - Data Source=username/password@myserver/myservice:dedicated/instancename; Откада взята строчка подключения из перввого поста(Provider=MSDAORA.1;Password=qwerty;User ID=baseuser;Data Source=BAZA1;Persist Security Info=True)? А у тебя на PC установлен клиент Oracle? Редактировалось 1 раз(а), последний 2022-08-18 12:07:00 |
|||
карма: 16 |
|
Ответов: 53
Рейтинг: 3
|
|||
Gunta писал(а): Откада взята строчка подключения из перввого поста(Provider=MSDAORA.1;Password=qwerty;User ID=baseuser;Data Source=BAZA1;Persist Security Info=True)?Из udl-файла упомянутой утилиты. Которая запускается с клиентских компов, не с сервера. Gunta писал(а): А у тебя на PC установлен клиент Oracle?Да, естественно. Редактировалось 1 раз(а), последний 2022-08-18 12:34:08 |
|||
карма: 1 |
|
Ответов: 814
Рейтинг: 176
|
|||
De_Cadanz, Попробуй вместо Provider=MSDAORA.1 использовать Provider=msdaora; или строку подключения
Provider=OraOLEDB.Oracle; (https://www.connectionstrings.com/oracle-provider-for-ole-db-oraoledb/) Возможно, проблема связана с версией установленного клиента 32/64 https://overcoder.net/q/1667500/%D0%BF%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D1%89%D0%B8%D0%BA-msdaora1-%D0%BD%D0%B5-%D0%B7%D0%B0%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD-%D0%BD%D0%B0-%D0%BB%D0%BE%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC-%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B5 https://community.oracle.com/tech/developers/discussion/1022162/msdaora-provider-is-not-registered-on-local-machine |
|||
карма: 16 |
|
Ответов: 53
Рейтинг: 3
|
|||
Gunta писал(а): De_Cadanz, Попробуй вместо Provider=MSDAORA.1 использовать Provider=msdaora; или строку подключения Простите меня, недалёкого. Я ж в ваш пример не вписал реальные данные базы. Всё подключилось. Спасибо, буду дальше разбираться. |
|||
карма: 1 |
|
Ответов: 53
Рейтинг: 3
|
|||
Пытаюсь получить значение с помощью элемента DSC_Query, запрос вида SELECT FROM WHERE, выдает ошибку -2147217913.
|
|||
карма: 1 |
|
Ответов: 814
Рейтинг: 176
|
|||
De_Cadanz писал(а): запрос вида SELECT FROM WHERE, выдает ошибку -2147217913.А тип поля "NUMBER" точно intenger? И не забывай в конце запроса ставить точку с запятой. Попробуй так
|
|||
карма: 16 |
|
Ответов: 53
Рейтинг: 3
|
|||
А так выдаёт ошибку -2147217900.
|
|||
карма: 1 |
|
Ответов: 814
Рейтинг: 176
|
|||
De_Cadanz писал(а): А так выдаёт ошибку -2147217900.https://support.microsoft.com/ru-ru/topic/%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-%D0%B2%D0%BE-%D0%B2%D1%80%D0%B5%D0%BC%D1%8F-%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F-2147217900-80040e14-83ef16fe-3867-36e2-b201-5c71b74ff1dc Попробуй запрос без оператора WHERE
Редактировалось 1 раз(а), последний 2022-08-19 11:00:09 |
|||
карма: 16 |
|
Ответов: 53
Рейтинг: 3
|
|||
Спасибо, буду разбираться.
--- Добавлено в 2022-08-19 11:34:18 Gunta писал(а): Попробуй запрос без оператора WHEREТам несколько сотен тысяч строк, оно просто виснет. Если дописать LIMIT 10, то та же ошибка. Редактировалось 2 раз(а), последний 2022-08-19 11:35:53 |
|||
карма: 1 |
|
Ответов: 814
Рейтинг: 176
|
|||
De_Cadanz писал(а): Если дописать LIMIT 10, то та же ошибка.SELECT NAME FROM PEOPLE FETCH FIRST 10 ROWS ONLY; |
|||
карма: 16 |
|
13