кто нибудь писал макросы для связи Rs-bank с базами oracle ?
0 (0)
кто нибудь писал макросы для связи Rs-bank с базами oracle ? ( Seeker 16.04.2010 15:43 )
5(1)проблема в следующем,
есть макрос в котором есть такая вот чудная строка на которой спотыкается RS-bank и вылетает терминал трехзвенки с сообщением "Соообщение сервера приложений Процесс остановлен администратором или завершено аварийно".
вот это чудо строка
ADO_spGetAccInfo.parameters("xi_AccNo").value= pers_acc;
но вот незадача, не могу даже найти откуда такая процедурка, чтоб понять что ей не нравится???
>> Ответитьre кто нибудь писал макросы для связи Rs-bank с базами oracle ? ( Коблев Мурат 19.04.2010 13:22 )
5(1)Попробовал подключиться к Oracle делал вот как:
Добавил system dsn с именем "ds_ora11_odbc"
код из rsl (работает) получился такой:
import RSD; env = RsdEnvironment( "RDDrvO", "RDDrvO.dll" ); /* создание окружения */ con = RsdConnection( env, "DSN=ds_ora11_odbc;USER ID=system;PASSWORD=system" ); /* создание соединения */ rs = RsdRecordset("DSN=ds_ora11_odbc;USER ID=system;PASSWORD=system", "select user from dual;" ); while( rs.moveNext ) [user_name: ################](rs.value(0)); /* эквивалентные формы: rs.fld(0).value, rs.value("id"), ... */ end; /* блок обработки ошибок: */ i = 0; while( i<env.ErrorCount ) [error № ##: #####################################](i, env.error(i).descr); i=i+1; end;
хорошее описание и все необходимые dll есть в папке rsd.ext, которая лежит в дистрибутиве.
на счет ADO_spGetAccInfo.parameters("xi_AccNo").value= pers_acc;
похоже, что тут параметризованный запрос. Документация советует писать так:
cmd = RsdCommand( “DSN=RSTest;USER ID=username;PASSWORD=passwd”, “INSERT INTO T VALUES(?, ‘testrsl2’)” ); cmd.addParam( “id” ); cmd.value(“id”) = 45; /* можно было объединить в одну строку: cmd.addParam(“id”) = 45 или cmd.addParam(“id”, NULL, 45) !!! */ /* эквивалентные формы: cmd.value(0)=45, cmd.param(“id”).value=45,... */ cmd.execute;
В любом случае, советую Вам Rsd.doc :-)
>> Ответить