Страница 2 из 3
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 13 Ноябрь 2018, 15:08
				 kreator
				А для тех, кто в танке - текста нет в выложенном примере? Скачать не могу, на работе.
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 13 Ноябрь 2018, 15:35
				 finsoftrz
				Неа, только exe. Но без sqlite3.dll не запускается.
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 13 Ноябрь 2018, 19:49
				 Developer
				finsoftrz писал(а): 13 Ноябрь 2018, 15:35 Неа, только exe. Но без sqlite3.dll не запускается.
 
Очень интересный пример  

Надо искать исходники или "смоделировать"  предположения реализации.
У меня работает без библиотеки sqlite3.dll в текущем каталоге, может настройках путей системы есть доступ к ней  

 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 13 Ноябрь 2018, 20:17
				 finsoftrz
				Конечно, надо папочку клариона переименовать, например... А можете и не париться, я уже проверял.
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 13 Ноябрь 2018, 20:22
				 Игорь Столяров
				Пойдём логическим путём, хотя до Нового года ещё время есть … 
1. По сути, таблицы SQLite ничем не отличаются от TPS;
2. SQLite - проект OpenSource, т.е. никто не мешает подменить таблицы SQLite на TPS …
3. Видимо, для простоты, используется некоторые вызовы готовых функций SQLite. Например трансляция T-SQL.
4. Не так давно, ДП "откларионил" какой-то OpenSource парсер JSON, видимо это продолжение проекта … 

 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 13 Ноябрь 2018, 23:49
				 kreator
				Забавно. Мои наблюдения. База в броузе - tps. Потому что, изменение teachers.tps внешним средством сразу отображается в броузе. Русские буквы в базе поддерживаются. В SQL запросах не поддерживаются. Что может быть? ODBC-драйвер tps, sqlite3.dll - скрыть правду. Второй вариант. SQL синтаксис "на лету" преобразуется в обычный кларионовский код. Но несколько вариантов я проверил, не поймал.
В Query по-другому. Изменение в БД не приводят к изменениям в запросе. Закрытие этого окна и вновь открытие приводит.
Похоже как-то создаётся всё-таки SQLite база.
Ну и напоследок вот такая фигня.
Запись должна быть по идее одна и та же. Но броуз сработал как-то хитро. Одна запись из базы tps, другая из созданной в памяти SQLite. Чтобы получить такую картину, не надо нажимать на кнопку Apply, нужно колёсико мышки крутануть. Похоже, "синхронизация" баз происходит при нажатии на кнопки Apply и Reset.
 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 14 Ноябрь 2018, 11:54
				 Yufil
				Решил посмотреть, как оно работает с трассировкой по драйверу tps. Вызвал trace.exe и прописал трассировку. Запустил, всё сработало, посмотрел. Решил трассировку отключить - и облом! 
В общем, при первом обращении создался файл c:\Users\Yufil\AppData\Roaming\SoftVelocity\Clarion\10.0\drivers.ini
А при повторном - c:\Users\Yufil\AppData\Roaming\SoftVelocity\Clarion\drivers.ini. 
Естественно, сбросить трассировку у меня не получилось, пришлось искать файлы и удалять передними конечностями...
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 14 Ноябрь 2018, 18:42
				 Yufil
				Developer писал(а): 13 Ноябрь 2018, 19:49
finsoftrz писал(а): 13 Ноябрь 2018, 15:35 Неа, только exe. Но без sqlite3.dll не запускается.
 
Очень интересный пример  

Надо искать исходники или "смоделировать"  предположения реализации.
У меня работает без библиотеки sqlite3.dll в текущем каталоге, может настройках путей системы есть доступ к ней  
 
Дизассемблировал программу - четыре функции из sqlite3.dll используются....
 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 14 Ноябрь 2018, 19:59
				 Дед Пахом
				Спасибо за интересное обсуждение и указанные недочёты 

 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 14 Ноябрь 2018, 22:47
				 kreator
				Дед Пахом писал(а): 14 Ноябрь 2018, 19:59
Спасибо за интересное обсуждение и указанные недочёты
 
Молодец!!! Только мне пока смысл решения непонятен.
 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 14 Ноябрь 2018, 23:03
				 RaFaeL
				Смысл например может быть такой: у нас основное (коммерческое) приложение на MS SQL, плюс есть бесплатная однопользовательская демо-версия на TPS. Местами код пишется два раза - для SQL запросы, для TPS по старинке. Наверное, решение позволило бы этого избежать. Правда, у нас еще куча хранимок, х.з. как тут с этим, не вникал
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 15 Ноябрь 2018, 0:29
				 arlean1
				kreator писал(а): 13 Ноябрь 2018, 23:49Запись должна быть по идее одна и та же. Но броуз сработал как-то хитро. Одна запись из базы tps, другая из созданной в памяти SQLite. Чтобы получить такую картину, не надо нажимать на кнопку Apply, нужно колёсико мышки крутануть. Похоже, "синхронизация" баз происходит при нажатии на кнопки Apply и Reset.
 
Да, так и работает.  Синхронизация может быть разной. В данном случае Apply - это скорее новая полная закачка, т.к. крутить колёсико - это просто обновление ListBox после подкачки изменённой строки. 
Это же просто демонстрация, обсуждать можно технологию и вряд ли больше )))
Дед Пахом писал(а): 12 Ноябрь 2018, 22:53Если не верите, то тут пример. 
 
Если нет исходников, то хотя бы откуда пример?  А то скучно  

 всухую
 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 15 Ноябрь 2018, 1:11
				 Developer
				arlean1 писал(а): 15 Ноябрь 2018, 0:29Если нет исходников, то хотя бы откуда пример? )))
 
https://clarionhub.com/t/sql-access-to- ... river/2228
We magicians do not reveal our secrets - фокусники не раскрывают секреты 
 
Михаил молодец!!! Этот пример и есть фокус 

 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 15 Ноябрь 2018, 11:38
				 kreator
				RaFaeL писал(а): 14 Ноябрь 2018, 23:03
Смысл например может быть такой: у нас основное (коммерческое) приложение на MS SQL, плюс есть бесплатная однопользовательская демо-версия на TPS. Местами код пишется два раза - для SQL запросы, для TPS по старинке. Наверное, решение позволило бы этого избежать. Правда, у нас еще куча хранимок, х.з. как тут с этим, не вникал
 
Притянутый за уши пример. Сейчас не начало 2000-х. Однопользовательская версия может быть сразу на sqlite. TPS-то зачем? Вот у нас есть "мобильный" модуль. Да, немного неудобно, нужно установить на планшет FB (Firebird). SQLite был бы легче. Но возможности SQLite несравнимы с FB. И синтаксис, и хранимки, и триггеры. 
Подозреваю, ДП знает больше, чем я, например. На выходе обещанная SV поддержка REACT. Предложен лёгкий способ переноса приложений с tps (а это во многих случаях однопользовательские системы) в мобильную среду. Возможно как временное решение. В общем, размечтался что-то я  

 .
 
			 
			
					
				Доступ к базе TPS через SQL (без ODBC драйвера)
				Добавлено: 15 Ноябрь 2018, 12:18
				 finsoftrz
				Дедушка ищет, чтобы еще такого впарить буржуям... 

Как идея прикольно, но в моих проектах точно такое не нужно. У кого-то, возможно, в генераторах отчетов может быть задействована. Не обязательно загонять в sqlite всю базу. Можно какую-то начальную выборку (документы за период и записи из справочников по ссылкам, к примеру), а затем к ней применить дополнительную фильтрацию и сортировку на sql, сохраненную в настройках отчета. Как-то так...