Patrick,

THANKS!

Chip
On Wed, 30 Oct 2019 11:08:35 -0700 (MST), Patrick Emanuel via 4D_Tech 
wrote:
> <quote author='4D Tech mailing list'>
> Hi,
> I understand that if a component needs to have access to 1 or more 
> tables there are 2 ways to do this:
> - Inject the table definition(s) into the host
> - USE DATABASE and connect to an external database/datafile.
> 
> I have some questions about using external databases in the context of 
> a component.
> 
> Given the following situation:
> [Host_Database] <- [component] -> [external_for_Component]
> 
> - in the case of client/server how is the external database managed?
>  -- would I place it in the component's resource folder?
>  -- is it automagically moved to the client via some other mechanism?
>  -- or is the component's external database call passed back to the 
> server, call(s) made and then data transferred to client from server?
>  -- something else
> 
> - As I read the 4D docs it seems that the external database can NOT 
> have/use a field of type C_Object as this is not supported by SQL, and 
> access is done to the external database only through SQL. 
>   -- Is this a correct interpretation?
> 
> - In a component with an external database, would I need to switch back 
> and forth between access to the external database and the host system?
> ex:
> method call from host includes pointer to table or field of host. To 
> satisfy the method call, data from the external database needs to be 
> accessed. I USE DATABASE(External) to the external database do query, 
> get data. 
> - do I need to place the retrieved external database data into 
> variable(s)?
> - do I need to then USE DATABASE(Host) before working with the host 
> table/field(s)?
> 
> Thanks for answering, and any other tips you may have regarding 
> external databases and components.
> 
> Chip
> We have done so much, with so little, for so long;
> We are now qualified to anything with nothing <sigh>
>   - unknown
> **********************************************************************
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **********************************************************************
> </quote>
> 
> Hi Chip,
> 
> I use this mecanism every time in QS Toolbox and will speak about 
> this during the presentation planned next January.
> You really pointed out how to manage. Now, about C_OBJECT, I don't 
> save them. One trick could be to Jsonify it as text and perform the 
> reverse action when you need to get access to the information.
> 
> So, I manage action on server with the option 'Execute on server' as 
> method's property and for variable, I use GET/SET VARIABLE TO 
> VARIABLE commands.
> 
> Here is a SQL code on how to manage action executed on external 
> database and internal one:
> Begin SQL
>       USE REMOTE DATABASE DATAFILE :[$QS_VCS_COMP_DB_PATH] AUTO_CLOSE;
>       
>       SELECT count(*) 
>       from VCS
>       INTO :[$Count];
>       
>       USE DATABASE SQL_INTERNAL;
>       
> End SQL
> 
> You can ping me directly at: pat.emanuel67 @ gmail. com
> 
> Patrick
> 
> 
> _____________________________________
> Sent from http://4d.1045681.n5.nabble.com
> 
> **********************************************************************
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **********************************************************************
We have done so much, with so little, for so long;
We are now qualified to anything with nothing <sigh>
  - unknown
**********************************************************************
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to