16.07.2015, 13:23 | #1 |
Участник
|
Доброе время суток, есть класс в методе которого реализовано серверное подключение к SQL БД.
задумка такая чтобы передать на класс запрос , отработка запроса произойдет на стороне сервера, далее результат(CCADORecordSet) возвращаться в вызываемый метод на клиенте. Class MyConnection method CCADORecordSet() Код: public static server CCADORecordSet getRsFromQuery(str query) { str DataSourse, user, passwd, ConnectCatalog; CCADOConnection connection ; CCADOCommand ccADOCommand; CCADORecordSet record; COM _comCN; COM cmd; InteropPermission _InteropPermission = new InteropPermission(InteropKind::ComInterop); ; _InteropPermission.assert(); connection = new CCADOConnection(); DataSourse=XXX.XXX.XXX.XXX; user=sa; passwd=XXXXXX; ConnectCatalog=AX; try { connection.open("Provider=SQLOLEDB ;"+ "Data Source="+DataSourse+" ;" + "Initial Catalog="+ConnectCatalog+" ;" + "uid="+user+" ; Connect Timeout=30000;" + "pwd="+passwd); _comCN = connection.connection(); cmd = new COM("ADODB.Command"); cmd.activeConnection(_comCN); cmd.CommandType(1); ccADOCommand= new CCADOCommand(); ccADOCommand.commandText(query); ccADOCommand.activeConnection(connection); ccADOCommand.commandTimeout(6000); record = ccADOCommand.execute(); return record; } catch { throw error("An Exception has occurred"); } connection.close(); } далее допустим из job вызываем этот метод Код: static void Job8(Args _args) { str query; Table _Table; CCADORecordSet record; COM recordSet; ; query=strfmt("select * from inventjournaltable" ); record = MyConnection::CCADORecordSet(query); recordSet = record.recordSet(); while (!record.EOF()) { _Table.clear(); _Table.JournalID = record.fields().itemName("JournalId").value(); _Table.insert(); recordSet.moveNext(); } recordSet.close(); } Выполняя Job получаю следующую ошибку. Сбой запроса на разрешение типа "InteropPermission". (S)\Classes\InteropPermission\demand (S)\Classes\COM\EOF (S)\Classes\CCADORecordSet\EOF- line 3 (C)\Jobs\Job8 - line 15 Подскажите пожалуйста в чем причина и как устранить ошибку. |
|