|  07.07.2008, 17:13 | #1 | 
| Участник | Как преобразовать запрос в SQL-инструкцию 
			
			Отчет реализован на базе класса RunBaseReport. Есть интерес преобразовать запрос сформированный пользователем в T-SQL-инструкцию и передать ее серверу. А точнее интересует не весь запрос, а хотя бы секция Ranges. Метод ToString формирует строку, но SQL сервер, естественно, ее не понимает. Интересует есть ли вообще способ получить подобный результат, или придется копать в другом месте
		 | 
|  | 
|  07.07.2008, 17:23 | #2 | 
| Участник | 
			
			Включите трассировку SQL запросов. Сервис -> Параметры -> Закладка SQL -> Галочка трассировка SQL и еще одну на выбор, например Infolog. А вот это  Цитата: 
		
			Есть интерес преобразовать запрос сформированный пользователем в T-SQL-инструкцию и передать ее серверу.
		
	 | 
|  | 
|  07.07.2008, 17:25 | #3 | 
| Боец | Цитата: 
		
			Есть интерес преобразовать запрос сформированный пользователем в T-SQL-инструкцию
		
	  Ставьте задачу конкретнее. | 
|  | 
|  07.07.2008, 18:06 | #4 | 
| Участник | 
			
			щас попробую конкретизировать. преимущество ранбейсрепорта (для меня) состоит в том, что пользователь может задавать фильтры к любым полям таблицы, в зависимости от своих фантазий, т.е. мне не нужно формировать диалог с жестким списком полей. беда в том, что запрос через класс Connection возвращает результат быстрее чем queryrun. т.е задача состоит в том, чтобы критерии стандартного Query преобразовать в синтаксис T-sql, выполнить их на сервере и вернуть в резултСет. хочется оптимизировать репорт и при этом сохранить преимущества стандартного класса в выборе критериев. может я действительно занялся ерундой, в таком случае, может подскажете альтернативный способ решения проблемы оптимизации
		 | 
|  | 
|  07.07.2008, 18:11 | #5 | 
| Axapta | 
			
			Думаю, вы занялись "ерундой". Альтернативный способ? Пожалуйста. Включить мониторинг запросов. Посмотреть,  какой запрос "тормозит". Понять почему он так себя ведет. По возможности исправить. При необходимости - повторить. http://axapta.mazzy.ru/lib/querytuning/ | 
|  | 
|  07.07.2008, 18:19 | #6 | 
| Участник | 
			
			ИМХО, отчет так просто не оптимизировать, ввиду того что условия в запросе могут быть самыми разнообразными, на все поля индексов не наделать, только если провести мониторинг наиболее часто повторяющихся условий
		 | 
|  | 
|  07.07.2008, 20:06 | #7 | 
| Участник | 
			
			Только захотел написать похожий вопрос а тут уже обсуждают.   У меня следующая задача: пользователь задает произволный range на диалоге runbasebatch по полю (типу) InventTable.PrimaryVendorID, но условия выборки стоит так: выбрать записи, у которых InventTable.PrimaryVendorID попадает в рендж, если нет - то искать в Торговых соглашениях (или как там по-русски trade agreements  . Так вот, пользователский рендж-то я вытащить могу из квери, но как его исползовать в сложном запросе (дже не Т-, а аксаптовский сиквел)? select ... where InRange(..) не дозволено синтаксисом  . Думаю, не я первый с такой пробелмой... Спасибо 
				__________________ -- regards, Oleksandr | 
|  | 
|  07.07.2008, 20:38 | #8 | 
| Axapta | |
|  | 
| Теги | 
| документация | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Произвольный SQL-запрос | 26 | |||
| Поймать SQL запрос при формировании отчета | 7 | |||
| SQL мониторинг + прямой запрос к SQL | 17 | |||
| SQL Запрос | 5 | |||
| Собственный SQL запрос в FormDataSource | 0 | |||
| 
 |