[[Property:modification_date|Thu, 04 Jan 2024 11:07:42 GMT]]
[[Property:publication_date|Thu, 04 Jan 2024 11:07:42 GMT]]
[[Property:title|Esql Sample]]
[[Property:weight|0]]
[[Property:uuid|04d03117-fdb2-8b73-677f-9b1a0c333dc4]]
This sample consists of a command line SQL parser. SQL statements are filtered through a monitor and sent to the RDBMS.
==Compiling==
To compile the example:
* Launch EiffelStudio.
* Click '''Add project'''
* Browse to ''$ISE_EIFFEL\examples\store\esql\''.
* Choose ''esql.ecf''
* Choose the location where the project will be compiled, by default the same directory containing the configuration file.
* Choose the targe according to the installed DBMS.
* Click '''OK'''.
==Running==
This sample lets you interact with your database through a console.
First you have to enter the database connection information:
* For ODBC:
Database user authentication:
Data Source Name: handson
Name: smith
Password: mypass
{{note|''Name'' and ''Password'' are not required with ODBC. If you don't need ''Name'' and ''Password'', you can simply hit ''Return'' when prompted. }}
* For Oracle:
Database user authentication:
Name: smith@HANDSON
Password: mypass
{{note|You must specify the Oracle User Name and Net Service Name with the syntax `@` where `` stands for the User Name and `` stands for the Net Service Name. }}
Then you can enter standard SQL queries to interact with your database, for instance:
SQL> select firstname, lastname from CONTACTS where lastname = 'Smith'
John Smith
SQL>
{{note|Enter ''exit'' to quit the application. }}
==Under the Hood==
This sample showcases the use of the 3 basic classes to interact with your database:
* [[ref:libraries/store/reference/db_control_chart|DB_CONTROL]] to connect and disconnect to your database.
* [[ref:libraries/store/reference/db_selection_chart|DB_SELECTION]] to perform 'select' queries.
* [[ref:libraries/store/reference/db_change_chart|DB_CHANGE]] to perform SQL queries that output no result.
The whole sample code is contained in the root class:
* ESQL for Oracle.
* ESQL_ODBC for ODBC.