01.04.2008 08:56
Sleeper
 
Доброго времени суток.

Есть желание написать прогу которая соединяется с БД, и может производить манипуляции с данными хранящимися в этой БД. Прога пишется на C используется механизм ODBC для соединения с БД, создание дескриптора окружения проходит нормально, далее создаётся дескриптор соединения, но после вызова SQLConnect() в которой задаётся имя базы,логин и пароль, выползает ошибка IM002. Может кто подскажет в чём причина.

Если кто писал прогу на соединение на C поделитесь исходником, плиз.*181
01.04.2008 09:19
kadr
 
На С не пишу и ODBC не юзаю, но у OCI (Oracle Call Interface) есть функции для прямого вызова и примеры именно на С, может стоит попробовать использовать их?
01.04.2008 10:16
deff
 
Код:
#include "afxdb.h"

CDatabase cdbMyDB;
CString driver;
driver="DSN=имя базы;UID=логин;PWD=пароль";
	
	if (!cdbMyDB.IsOpen())
          {
	cdbMyDB.OpenEx(driver);
	MessageBox("Соединение с базой прошло  успешно");
          }
Здесь подробнее можно найти
02.04.2008 07:19
Sleeper
 
Спасибо за ответы.

С подключением программы на сервере где база крутится разобрался. А вот с клиентского компа, как подключиться.

Кто - нить может описать методику взаимодействия SM2000 на клиентском компе с базой на сервере, или ссылку киньте на инфу.
02.04.2008 10:29
kadr
 
основной компонент NET8 и его правильная настройка
03.04.2008 02:12
Sleeper
 
Kadr, а каким образом через него взаимодействуют клиентская программма, т.е. есть ли какое-нибудь API для передачи данных используя NET8?

Вопрос снимается, только дошло что не по теме.
03.04.2008 05:34
Sleeper
 
я так понимаю что NET8 является посредником при передаче данных от клиентского компа до сервера, следовательно такая схема нарисовывается:

клиент->NET8->Сетевой протокол->NET8->server?

или

клиент->NET8->Сетевой протокол->NET8->ODBC->server?

или

клиент->ODBC->NET8->Сетевой протокол->NET8->ODBC->server?
03.04.2008 09:07
kadr
 
в грубом приближении NET8=ODBC по своему функциональному назначению. т.е. NET8 это драйвер доступа.
схема же выглядит так: клиент->NET8->SQL*NET Client->сетевой протокол->SQL*Net Server->Server Oracle
почитай тут,
04.04.2008 08:11
Sleeper
 
Kadr, почитал, полезная инфа. Значит следующая схема:
приложение->Driver ODBC for Oracle->NET8->TCP->NET8 Server->Oracle

Но тут такая непонятная весч возникает, я в приложении пробую использовать Microsoft ODBC for Oracle, а в результате ошибка именно при попытке соединения с базой.

Попробовал MS Access'ом соединится с базой, та же ошибка.

Но попробовал прогу SMDocVerifier от twix'а коннектится к базе на ура.

Я думаю что twix использовал ADO интерфейс для подключения, но этот интерфейс также использует драйвер(provider). Вопрос какой драйвер?

По ссылке Mtirt драйвер в примере имеет название Oracle Provider for OLE DB, но на клиентском компе такого нет.

*11 *11 *11 *11 *11
Часовой пояс GMT +3, время: 04:33.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.