|GNADE User's Guide: GNADE, The GNat Ada Database Environment; Version 1.5.3; Document Revision $Revision: 1.45 $|
The GNU Embedded SQL Translator for Ada 95 reads a Ada 95 source file containing an Ada 95 package which contains embedded SQL Commands. A typical code fragment which is embedded into a normal Ada 95 source text is shown below:
Example 13-1. Example for Embedded SQL
EXEC SQL AT DB01x SELECT LOCATION INTO :dep_location FROM departments WHERE DEPTNO = :depno ; if SQLCODE not in SQL_STANDARD.NOT_FOUND then Put_Line( "Employee : " & Trim(To_String(Name),Right) & -- bug " working in dep. " & INT'Image(depno) & -- " located at " & Trim(To_String(dep_location),Right) ); end if; ..............
In order to communicate to data bases, ESQL uses in each ESQL statement an optional data base identifier. This identifier is assigned by means of a connect statement to a data base as shown below. First of all is the connection identifier declared to be DB01.
........ EXEC SQL DECLARE DB01 DATABASE ; ......... begin EXEC SQL CONNECT "gnade" IDENTIFIED BY "xxxxxxx" BY DB01 TO "DEMO_DB" ; end;Later, during the initialization of the package, we connect as user "gnade" with the password "xxxxxx" to the database "DEMO_DB". The connection which will be used will be referred as DB01 in all ESQL statements. The name DEMO_DB refers to the data source name in the ODBC setup.