www.map-info.ru :: Просмотр темы - Программное подключение к Оракл
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
Nura



Зарегистрирован: 23.01.2007
Сообщения: 18

СообщениеДобавлено: Ср Июл 25, 2007 1:49 pm    Заголовок сообщения: Программное подключение к Оракл Добавить ответ со ссылкой на данный текст

Создаю програмно подключение строкой
hdbc = Server_Connect("ORAINET","SRVR=orcl_195.138.0.14;USR=system;PWD=1").
Так вот при такой конструкции, если запускаю строку говорит ошибка в имени или пароле пользователя, а если запускаю ручками, через форму подключения к удаленной СУБД, с этим же именем и паролем - нормально подключается, в чем может быть проблема?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Ср Июл 25, 2007 2:37 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

На машине Oracle Client стоит? Там прописан путь до ORCL?
Меня больше смущает указание сервера, может так пройдет:
hdbc = Server_Connect("ORAINET","SRVR=orcl;USR=system;PWD=1").
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Nura



Зарегистрирован: 23.01.2007
Сообщения: 18

СообщениеДобавлено: Пт Июл 27, 2007 1:49 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Все разобралась. Правильная строка подключения: hdbc =Server_Connect("ORAINET", "SRVR=ORCL_192.168.0.18;UID=System;PWD=1")
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Vyacheslav



Зарегистрирован: 04.09.2008
Сообщения: 4
Откуда: г. Строитель

СообщениеДобавлено: Чт Сен 04, 2008 12:46 pm    Заголовок сообщения: Re: Программное подключение к Оракл Добавить ответ со ссылкой на данный текст

Nura писал(а):
Создаю програмно подключение строкой
hdbc = Server_Connect("ORAINET","SRVR=orcl_195.138.0.14;USR=system;PWD=1").
Так вот при такой конструкции, если запускаю строку говорит ошибка в имени или пароле пользователя, а если запускаю ручками, через форму подключения к удаленной СУБД, с этим же именем и паролем - нормально подключается, в чем может быть проблема?


Как правильно записать обращение FireBird серверу и базе данных в процедуре hdbc = Server_Connect(...), и есть ли у кого библиотека MISS07.DLL, вышлите на ниженаписанный адрес? Если имеется хорошее описание по MAPBasic отправьте, пожалуйста, на yamric@mail.ru
Заранее благодарю за помощь.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Нестеров Валерий



Зарегистрирован: 21.03.2006
Сообщения: 492

СообщениеДобавлено: Пт Сен 05, 2008 7:58 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Просто хелп по MapBasic можно скачать тут:
http://www.map-info.ru/download/mapbasic.rar

Хелп по MapInfo тут:
http://www.map-info.ru/download/mapinfow.rar
_________________
Жизнь прекрасна!i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Vyacheslav



Зарегистрирован: 04.09.2008
Сообщения: 4
Откуда: г. Строитель

СообщениеДобавлено: Пн Окт 20, 2008 2:29 pm    Заголовок сообщения: Проблема долгого обращения к последней строке базы Добавить ответ со ссылкой на данный текст

Спасибо за ссылки.
Вот проблема, которую не могу разрешить. На удалённом компьютере находятся базы данных, имеющих по 12000 и более строк. Необходимо со своего компютера подключаться поочерёдно к этим базам и считывать только последние строки данных.
Вот код.
hdbcs = Server_Connect("qelib",region_file)
Server hdbcs Begin Transaction
hstmt = Server_Execute(hdbcs, "Select datetime,lat,lon,speed,course from data")
Server hstmt Bind Column 1 to date_time, datetime_code
Server hstmt Bind Column 2 to lat_var, lat_code
Server hstmt Bind Column 3 to lon_var, lon_code
Server hstmt Bind Column 4 to speed_var, speed_code
Server hstmt Bind Column 5 to course_var, course_code
Server hstmt Fetch Next
while not Server_Eot (hstmt)
Server hstmt Fetch Next
wend

Но при таких больших базах данных считывание длится от получаса до 10 часов. Я видел, что в других готовых проектах процесс доступа к последней строке длится не больше минуты. Но как это осуществить?
Заранее благодарю. :D
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Нестеров Валерий



Зарегистрирован: 21.03.2006
Сообщения: 492

СообщениеДобавлено: Пн Окт 20, 2008 8:41 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Вообще работать с базами лучше через SQL операторы, а не напрямую со строками. Я правда не понял к какого типа базе вы подключаетесь. Если на другом конце СУБД, а не таблица DBF, то обращаясь к ней через SQL сама СУБД будет выбирать все быстро. Главное правильно задать условия запроса, ну и проиндексировать поля, участвующие в условиях запроса.
_________________
Жизнь прекрасна!i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Пн Окт 20, 2008 8:45 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

А что такое последняя строка в выборке:
Select datetime,lat,lon,speed,course from data
?
По какому критерию она последняя? Намек понятен?
По стандарту SQL если в предложении SELECT не указан предикат ORDER BY, то порядок строк может быть любой.
Поэтому надо указывать всегда ORDER BY если вы закладываетесь на порядок строк. И если вам нужна последняя строка в указанном вами порядке, то просто смените сортировку на обратную.
Например ващ порядок:
ORDER BY datetime
Делаете
ORDER BY datetime DESC
получаете первую строку - она же есть последняя строка в требуемом вами порядке сортировки
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Vyacheslav



Зарегистрирован: 04.09.2008
Сообщения: 4
Откуда: г. Строитель

СообщениеДобавлено: Ср Окт 22, 2008 3:53 pm    Заголовок сообщения: Работа с базами данных Добавить ответ со ссылкой на данный текст

Я работаю с базами данных Firebird.
В sql-запросе после служебного слова select до слова from стоит перечисление столбцов, которые надо использовать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru