Title: SQL Queries houden ADS tabellen geopend Post by: Wouter Rijnbende on September 01, 2014, 12:21:32 pm Vanuit de Advantage Data Architect kan via menu Tools, Remote Server Info een Advantage Management Utility worden opgestart, die extra informatie biedt over de ADS Server. Zo is hier o.a. zichtbaar welke gebruikers er een verbinding hebben, en welke bestanden zij in gebruik hebben.
Normaliter, als we in SQL een "SELECT FROM" Query uitvoeren, dan krijgen we een resultaat terug in een resultatentabel; een (tijdelijke) tabel met daarin de resultaten van onze SQL Query. In ADS is er intern een koppeling tussen het verkregen resultaat en de tabel waarop de Query werd losgelaten. De Advantage Data Architect biedt ons de mogelijk de data in de resultatentabel te wijzigen, waarna de wijziging ook geëffektueerd wordt op de echte tabel. Het lijkt a.h.w. net alsof de SQL Query een 'filter' wordt op de live tabel. "Filter" of "link tussen de resultatentabel en de échte tabel", waar het om gaat is dat zodra er in de Advantage Data Architect een SQL Query is uitgevoerd en het resultaat op het scherm staat, zal de tabel waaruit de data geselekteerd werd door uw Query in gebruik zijn ! (http://www.heartprofit.com/www/transfer/graphics/rnotes/140901AMU001.jpg) Het open laten staan van de SQL Query met haar resultaat houdt dus de tabel geopend. Het geopend houden van de tabel zorgt er weer voor dat de tabel niet gereorganiseerd kan worden, of dat er een Upgrade kan worden uitgevoerd ! Het lijkt erop dat de "Non active Queries" die op het tabblad Queries worden weergegeven respresentatief zijn voor SQL Queries die elders (Advantage Data Architect) zijn opgevraagd, maar waarvan de Query en diens resultaat nog niet formeel zijn afgesloten. Ofwel: Nadat u een Query hebt uitgevoerd, sluit het scherm met uw Query af, om te voorkomen dat u daarmee data in gebruik houdt die een andere gebruiker (voor alleengebruik) nodig kan hebben. Door de Advantage Data Architect niet rechtstreeks vanaf de ADS Server op te starten kan w.s. eenvoudiger worden achterhaald wie (Connectionname) een bepaalde Query heeft uitgevoerd maar niet heeft afgesloten. |