|  02.07.2004, 18:22 | #1 | 
| Участник | Измените параметр -OPENCURSORS Цитата: 
		
			Превышен предел Navision Axapta по количеству открытых курсоров (90). Измените параметр -OPENCURSORS или внесите модификации в код X++.
		
	 P.S. Курсоры надо закрывать? | 
|  | 
|  02.07.2004, 18:39 | #2 | 
| Модератор | 
			
			Configuration Utility, закладка Database внедрение идет полным ходом..   | 
|  | 
|  05.07.2004, 11:28 | #3 | 
| Участник | 
			
			Спасибо! P.S. Это точно =)) | 
|  | 
|  05.07.2004, 14:04 | #4 | 
| NavAx | 
			
			да, внедрение с помощью axforum'а это забавно. но лучше бы вы таки не программировали...    
				__________________ И все они создания природы... | 
|  | 
|  25.06.2007, 13:56 | #5 | 
| Участник | 
			
			А что именно зависит от этого параметра в Аксапте? И какие действия могли привести к выводу этого сообщения? | 
|  | 
|  25.06.2007, 15:57 | #6 | 
| Участник | 
			
			Интересная тема! на проекте сейчас иногда возникают такие ситуации - это сообщение пишется в системный лог, при этом AOS перестаёт пускать пользователей в систему аргументируя несовместимостью версий клиента и сервера. Подмечено что возникает при накатке мелких модификаций без перестартовки AOS.
		 | 
|  | 
|  25.06.2007, 18:05 | #7 | 
| Member | Цитата: 
		
			Сообщение от kashperuk
			
			 ... А что именно зависит от этого параметра в Аксапте? ... Цитата: 
		
			Сообщение от kashperuk
			
			 ... И какие действия могли привести к выводу этого сообщения? ... 
				__________________ С уважением, glibs® | 
|  | 
|  25.06.2007, 18:10 | #8 | 
| Участник | 
			
			Угу. Вот и я точно так же ответил бы на эти вопросы. Но на самом деле у нас картина немного другая. Пользователь - 1. Выполняет синхронизацию БД. При этом падает сервер, и пишет в лог такое сообщение. "Подсказка": Приложение скопировано с другой, но оочень похожей инсталляции. База - около 15 Гб. Возможно, конечно, это связано именно с этим, но: 1. раньше проблем не возникало. 2. как это лечить? | 
|  | 
|  26.06.2007, 13:46 | #9 | 
| Участник | 
			
			Вчера разобрались в чем дело было. Чтобы другие быстро могли найти "противоядие", объясню, на какие грабли мы наступили: При установке SP5 также был загружен проект "The Enhanced SQL Trace Utility" (по-моему он входет в поставку с SP5). Этот проект собственно и открывал курсоры новые - точнее пытался, что ни к чему не приводило, потому что помимо загрузки проекта необходимо выполнить еще и sql скрипт, который дает определнные права пользователю, под которым запускается бд в Аксапте. К сожалению, решили удалением проекта, так как grant соответствующих прав почему-то не помог.  Но еще с этим поиграюсь, возможно удастся решить проблемку "грамотным" путем.   | 
|  | 
|  21.09.2015, 10:35 | #10 | 
| Участник | 
			
			Может кому понадобится. Сегодня тоже столкнулись с подобной проблемой в форме InventTrans (4.0 SP2) при открытии по номенклатуре, по которой достаточно много проводок. Ошибка появлялась при активной прокрутке грида. Ничего из вышеперечисленного не помогало. Решение нашлось: http://www.programdoc.com/1318_10909_1.htm Суть сводится к тому, что в форме много кэшируемых дисплейных методов. А дисплейный метод оставляет курсор открытым. Закомментировали кэширование методов в Forms - InventTrans - Data Sources - InventTrans - Init(): X++: // inventTrans_ds.cacheAddMethod(tablemethodstr(InventTrans, pcsPrice)); // inventTrans_ds.cacheAddMethod(tablemethodstr(InventTrans, currencyCode)); // inventTrans_ds.cacheAddMethod(tablemethodstr(InventTrans, discAmount)); // inventTrans_ds.cacheAddMethod(tablemethodstr(InventTrans, discPercent)); // inventTrans_ds.cacheAddMethod(tablemethodstr(InventTrans, unit)); // inventTrans_ds.cacheAddMethod(tablemethodstr(InventTrans, inventVendCust)); // inventTrans_ds.cacheAddMethod(tablemethodstr(InventTrans, lineAmount)); // inventTrans_ds.cacheAddMethod(tablemethodstr(InventTrans, qtyUnit)); | 
|  | |
| За это сообщение автора поблагодарили: sukhanchik (2), Logger (3), gl00mie (3). | |
|  21.09.2015, 13:12 | #11 | 
| Участник | |
|  | 
|  21.09.2015, 13:51 | #12 | 
| Участник | 
			
			Я из-за этого дела переписал код в классе InventTransReference. Чтобы во всех формах не переписывать. Все перечисленные выше дисплейные методы дергают этот метод. Axapta 3.0 SP5 X++: server static InventTransReference inventTransReference(inventTrans _inventTrans) { // SysGlobalCache cache = classFactory.globalCache(); // InventTransReference InventTransReference = cache.get(classStr(InventTransReference), funcname(), null); // // if (!inventTransReference || // inventTransReference.inventTrans().recId != _inventTrans.recId) // { // inventTransReference = InventTransReference::construct(_inventTrans); // cache.set(classStr(inventTransReference), funcname(), inventTransReference); // } // // return inventTransReference; // DEM от 28.01.2015 14:26:58 ---> // Из-за превышения по количеству открытых курсоров убрал кеш InventTransReference InventTransReference; ; inventTransReference = InventTransReference::construct(_inventTrans); return inventTransReference; // DEM от 28.01.2015 14:26:58 <--- } Последний раз редактировалось Ace of Database; 21.09.2015 в 13:54. | 
|  | |
| За это сообщение автора поблагодарили: Logger (1). | |
|  21.09.2015, 14:07 | #13 | 
| Участник | 
			
			хм... А как бы... Закрывать то их нельзя что ли ? Или использовать один и тот же курсор. | 
|  |