рдлреЗрдбрд░реЗрдЯреЗрдб рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рдорд▓реНрдЯреАрдмреИрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрдЪ рдПрд╕рдХреНрдпреВрдПрд▓ рдЧреЗрдЯрд╡реЗ рдХрд╛ рдкрд░рд┐рдЪрдп

рдЬрдЯрд┐рд▓ рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ, рд╕рд╡рд╛рд▓ рдЕрдХреНрд╕рд░ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рд╣реЛрддрд╛ рд╣реИред
рдРрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдПрдХреАрдХреГрдд, рд╕рдВрдШрдЯрд┐рдд, рдпрд╛ рдорд▓реНрдЯреАрдмреИрд╕ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

Cach├й DBMS рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХреАрдХрд░рдг рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЧреЗрдЯрд╡реЗ ( Cach├й SQL Gateway ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ ODBC / JDBC рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрд░реЛрдд рдХреЛ рди рдХреЗрд╡рд▓ DBMS рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ MS Excel, DBF, рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЗрдВ, рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓реЗрдВ, WMI, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП JDBC / ODBC рдбреНрд░рд╛рдЗрд╡рд░ рд╣реИрдВред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, Cach├й SQL рдЧреЗрдЯрд╡реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ:

  1. рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдмрдВрдзрди рдкреЛрд░реНрдЯрд▓ ( рдПрд╕рдПрдордкреА ) рдореЗрдВ, рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ, рд▓реЙрдЧрд┐рди, рдкрд╛рд╕рд╡рд░реНрдб, рдЖрджрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдПрдВред рдпрд╣рд╛рдВ рдЖрдк рдмрдирд╛рдП рдЧрдП рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
  2. рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП , рдЖрдк рдКрдкрд░ рдХреЗ рдЪрд░рдг рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░реА DBMS рд╕реЗ Cach├й рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ / рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рдХрд╣реАрдВ рднреА рдХреЙрдкреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╡рд┐рд╢реЗрд╖ рдЖрднрд╛рд╕реА рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВ, рд╡реЗ рднреА рдЯреЗрдмрд▓ рд╣реИрдВ;
  3. рдЕрдм, рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ - рдХрд╛рдЪреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ - рдЗрд╕рдореЗрдВ рдЖрдкрдХреЛ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЯреЗрдмрд▓, рд╡рд┐рдЪрд╛рд░, рд╕рдВрдЧреНрд░рд╣реАрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ (CIs) рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ: Oracle, DB2, MSSQL, MySQL, Excel, DBF, CSV, рдЖрджрд┐ред
  4. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЖрдк рдЗрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ / рдПрдЪрдкреА рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рджрд┐рд╢рд╛рдУрдВ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╡реЗ рдХрд╛рдЪреЗ рдореЗрдВ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдерд┐рдд рдереЗред

рдиреЛрдЯ: рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рд╡рд┐рд╖рдо рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдЖрд╢рдВрдХрд╛, рдореИрдВ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, Oracle рдФрд░ MSSQL рд╕реЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмреАрдЪ JOIN рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдпреЗ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗрд╡рд▓ рддрдерд╛рдХрдерд┐рдд рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЗ рдмрдЬрд╛рдп рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдбреЗрдЯрд╛ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХреЗ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдРрд╕рд╛ рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реЛрдЧрд╛ред


рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдЯреЗрдмрд▓реНрд╕ рдмрдирд╛рдирд╛


рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ODBC рдпрд╛ JDBC рдбреНрд░рд╛рдЗрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

ODBC рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕рд┐рд╕реНрдЯрдо DSNs рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:





рдФрд░ JDBC рдХреЗ рд▓рд┐рдП - рдЬрд╛рд╡рд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдкрде ( рдЗрд╕рдХреЗ рдмрд╛рдж рд╕рднреА рдЪрд┐рддреНрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ ):



рдЕрдЧрд▓рд╛, рдПрд╕рдПрдордкреА рдореЗрдВ, рдЖрдкрдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рдХрд╛рд░ ( рдЬреЗрдбреАрдмреАрд╕реА рдпрд╛ рдУрдбреАрдмреАрд╕реА ) рдХреЗ рдХреИрд╢реЗ SQL рдЧреЗрдЯрд╡реЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд┐рд░реНрднрд░ рд╣реЛрдВрдЧреАред рдпрд╣рд╛рдВ рдЖрдк рдирдП рдмрдирд╛рдП рдЧрдП рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:





рдлрд┐рд░, рдЯреЗрдмрд▓реНрд╕ рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдЯреЗрдмрд▓ рдпрд╛ XP рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:





рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рдЙрд╕рдХрд╛ рдирдпрд╛ рдирд╛рдо, рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдирдП рдирд╛рдо, рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА, рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗрдЧрд╛ред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЖрдк рд╕рднреА рдирд╛рдореЛрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрдм рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреИрдЪреЗ рдбреАрдмреАрдПрдордПрд╕ рдХреЗ рдЖрд░рдХреНрд╖рд┐рдд рд╢рдмреНрдж рд╣реИрдВред

рдмрд╛рд╣рд░реА job_tmarks рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдкрдиреНрди рд╡рд░реНрдЪреБрдЕрд▓ рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

рдХреНрд▓рд╛рд╕ dbo.jobtmarks% рд▓рд╛рдЗрдмреНрд░реЗрд░реА рддрдХ рдлреИрд▓реА рд╣реБрдИ рд╣реИред рдирд┐рд░рдВрддрд░ [ ClassType = persistent, Not ProcedureBlock , SqlRowIdPStreet , SqlTableName = job_tmarks , StorageStrategory = GSQLStorage]
{

рдкреИрд░рд╛рдореАрдЯрд░ рдХрдиреЗрдХреНрд╢рди = "рдПрдореНрд╕, NOCREATE" ;

рдкреИрд░рд╛рдореАрдЯрд░ EXTDBNAME = "Microsoft SQL рд╕рд░реНрд╡рд░" ;

рдкреИрд░рд╛рдореАрдЯрд░ EXTERNALTABLENAME = "dbo.job_tmarks" ;

рд╕рдВрдкрддреНрддрд┐ INTERETHNICVALUE % рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ ( EXTERNALSQLNAME = "INTERETHNIC_VALUE" , EXTERNALSQLTYPE = 12 , MAXLEN = 50 ) [ рдЖрд╡рд╢реНрдпрдХ , SllColumnNumber = 5, SqlFieldName = INTERETHNIC_VALUE ];

% рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдкрддреНрддрд┐ InternationalVALUE % рд╕реНрдЯреНрд░рд┐рдВрдЧ ( EXTERNALSQLNAME = "International_VALUE" , EXTERNALSQLTYPE = 12 , MAXLEN = 50 ) [ рдЖрд╡рд╢реНрдпрдХ , SqlColumnNumber = 4, SqlFieldName = International_VALUE ];

рд╕рдВрдкрддреНрддрд┐ NATIONALVALUE % рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ ( EXTERNALSQLNAME = "NATIONAL_VALUE" , EXTERNALSQLTYPE = 12 , MAXLEN = 50 ) [ рдЖрд╡рд╢реНрдпрдХ , SqlColumnName = 6, SqlFieldName = NATIONAL_VALUE ];

рдкреНрд░реЙрдкрд░реНрдЯреА рдЖрдИрдбреА % Integer ( EXTERNALSQLNAME = "id" , EXTERNALSQLTYPE = 4 ) [ рдЖрд╡рд╢реНрдпрдХ] , SqlColumnNumber = 2, SqlFieldName = id ];

рд╕рдВрдкрддреНрддрд┐ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ % рдкреВрд░реНрдгрд╛рдВрдХ ( EXTERNALSQLNAME = "рдкреНрд░рд╛рдердорд┐рдХрддрд╛" , EXTERNALSQLTYPE = 4 ) [ рдЖрд╡рд╢реНрдпрдХ , SqlColumnNumber = 3, SqlFieldName = рдкреНрд░рд╛рдердорд┐рдХрддрд╛ ];

рд╕реВрдЪрдХрд╛рдВрдХ MainIndex on id [ IdKey , PrimaryKey ];

}

рдиреЛрдЯ: рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк Cach├й рд╕реЗ рдХреБрдЫ рдЕрдЪреНрдЫрд╛рдЗрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╡рд░реНрдЧ рдХреЗ рдХреЛрдб рдХреЛ рдкреВрд░рдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╡рд░реНрдЧ рдФрд░ / рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рддрд░реАрдХреЗ, рдлрд╝реАрд▓реНрдб, рд╕реБрдкрд░рдХреНрд▓реЗрд╕реЗрд╕, XR рджреНрд╡рд╛рд░рд╛ рдЧрдгрдирд╛ рдХреА рдЧрдИ - рдЬреЛ рдореВрд▓ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЬрдм рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ / рдПрдХреНрд╕рдкреА рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЛрдб рдЦреЛ рдЬрд╛рдПрдВрдЧреЗред

рдпрд╣реА рд╣реИ, рдЕрдм рдЖрдк рдХрд┐рд╕реА рднреА ODBC / JDBC рдЧреНрд░рд╛рд╣рдХ ( рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рджреЗрдЦреЗрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Cach├й рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рднреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рджреЛрдиреЛрдВ рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣рд░реА; рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рддреБрд░рдВрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред

рдареАрдХ рд╣реИ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЖрдк рд╡рд┐рднрд┐рдиреНрди DBMS рдХреЗ рдореВрд▓ SQL рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд / рд╣рдЯрд╛ / рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреИрдЪ рдПрд╕рдХреНрдпреВрдПрд▓ рдЧреЗрдЯрд╡реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреАрдкрд╕реА рдПрдореНрдмреЗрдбреЗрдб рдмрд┐рдЬрдиреЗрд╕ рдЗрдВрдЯреЗрд▓рд┐рдЬреЗрдВрд╕ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдФрд░ рд╡рд┐рд╖рдп рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛
рдПрдХ рдмрд╛рд░ рдЗрд╕ рддрдХрдиреАрдХ рдиреЗ рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдЕрдиреНрдп DBMS (Cach├й рдирд╣реАрдВ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреАред рджреЛ рдирдП рдХрд░реНрдордЪрд╛рд░реА рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдБрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред

рдЪреВрдБрдХрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рд░реНрд╡рд░реЛрдВ рддрдХ рдкрд╣реБрдБрдЪ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдЧрдЬ, рдЕрд▓рдорд╛рд░рд┐рдпрд╛рдБ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ "рднрдЯрдХ" рдЧрдпрд╛ рдерд╛, рдФрд░ рд╕рдордп рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рд░рд╣реА рдереА, рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдкреЗрд╢ рдХрд┐рдпрд╛, рдореЗрд░реЗ рдкреНрд░рдмрдВрдзрди рдХреА рд╕рд╣рдорддрд┐ рд╕реЗ, рдХреИрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╡рд┐рдХрд▓реНрдк: рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдЙрдиреНрд╣реЛрдВрдиреЗ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдЬреИрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рдореБрдЭреЗ рд╕рд╣реА рд▓реЛрдЧреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдереА рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдПред рдХрд╛рдЪреЗ рдореЗрдВ рдПрдХ рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдпрд╛, рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рд╛, рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЕрдзрд┐рдХрд╛рд░ рджрд┐рдПред

рдлрд┐рд░ рд╡реЗ рдХреИрдЪ рд╕реЗ рдЬреБрдбрд╝реЗ, рдпрд╣рд╛рдБ рдПрдХ рдЖрднрд╛рд╕реА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА DBMS рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣реЗ рдереЗ, рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрд╕рдорд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЕрдкрдиреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ред рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЛ рдЕрдкрдиреЗ DBMS рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рдереАред


рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рдПрдХреНрд╕реЗрд╕


рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдмрд╛рд╣реНрдп рдбреЗрдЯрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

рдПрдХ рд╕рд┐рд╕реНрдЯрдо DSN рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрджрд╛рд╣рд░рдг ODBC рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдПрдХреНрд╕реЗрд╕:

db = ## рд╡рд░реНрдЧ ( % SQLGatewayConnection ) рд╕реЗрдЯ рдХрд░реЗрдВред % рдирдпрд╛ ()
рд╕реЗрдЯ рд░реЗрд╕ = рдбреАрдмреАред рдХрдиреЗрдХреНрдЯ ( "DSNName" , "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо" , "рдкрд╛рд╕рд╡рд░реНрдб" )
рд╕реЗрдЯ rs = ## рд╡рд░реНрдЧ ( % рдкрд░рд┐рдгрд╛рдо )ред % рдирдпрд╛ ( "% рдбрд╛рдпрдирд╛рдорд┐рдХрдЬреАрдЬреАрдбрдмреНрд▓реНрдпреВ: рдПрд╕рдХреНрдпреВрдЬреАрдбрдмреНрд▓реНрдпреВ" )
рдЖрд░ рдПрд╕ рдПрд╕ рддреИрдпрд╛рд░ рдХрд░реЗрдВ ( "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЪрдпрди рдХрд░реЗрдВ * рдЬрд╣рд╛рдВ рдЖрдИрдбреА =?" , Db)
рдЖрд░ рдПрд╕ рдПрд╕ рдирд┐рд╖реНрдкрд╛рджрд┐рдд (46)
рдЬрдмрдХрд┐ рдЖрд░.рдПрд╕. рдЕрдЧрд▓рд╛ () {
i = 1: 1: rs рдХреЗ рд▓рд┐рдПред GetColumnCount () {
rs рд▓рд┐рдЦреЗрдВ ред GetData (i)
рдЕрдЧрд░ рдореИрдВ = рдЖрд░.рдПрд╕. GetColumnCount () {
"," рд▓рд┐рдЦреЗрдВ
} {
рд▓рд┐рдЦреЛ !
}
}
}
db рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ ()

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рдЕрдм Cach├й SQL рдЧреЗрдЯрд╡реЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ "DSNName" OC рдореЗрдВ рд╣реА рдкрд░рд┐рднрд╛рд╖рд┐рдд DSN рдирд╛рдо рд╣реИред

рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг % ResultSet рдФрд░ % DynamicQueryGW рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП ODBC рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдерд╛рдХрдерд┐рдд рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкрд╣реБрдВрдЪ рднреА рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, % SQLGatewayConnection рд╡рд░реНрдЧ рдХреЗ рдХреЗрд╡рд▓ рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкрд╣реБрдБрдЪ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреНрд╡реЗрд░реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдпрд╣ рдХреНрд╡реЗрд░реА рдмрд╛рд╣рд░реА ODBC рд╕реНрд░реЛрдд (рдирд╛рдо DSNName рдХреЗ рд╕рд╛рде ) рдХреА рдЬрд╛рдирдХрд╛рд░реА рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рд╕рднреА рдлрд╝реАрд▓реНрдбреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди рдЖрдпреБ = 21 рд╣реИ, рдФрд░ рдирд╛рдо рдлрд╝реАрд▓реНрдб рдХрд╛ рдорд╛рди "D" рдЕрдХреНрд╖рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

db = ## рд╡рд░реНрдЧ ( % SQLGatewayConnection ) рд╕реЗрдЯ рдХрд░реЗрдВред % рдирдпрд╛ ()
// рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
db рдХрдиреЗрдХреНрдЯ ( "DSNName" , "sa" , "pwd" )
// рдПрдХ рдирдИ рдЯреАрдо рдмрдирд╛рдПрдВ
рд╕реЗрдЯ sc = рдбреАрдмреАред AllocateStatement (.Stat)
// рдЕрдиреБрд░реЛрдз рддреИрдпрд╛рд░ рдХрд░реЗрдВ
рд╕реЗрдЯ sc = рдбреАрдмреАред рддреИрдпрд╛рд░ рдХрд░реЗрдВ (рд╕реНрдЯреЗрдЯрд╕, "рд╕реЗрд▓реЗрдХреНрдЯ рдХрд░реЗрдВ * рдЗрдирдлреЛрд░реЛ рд╡реНрд╣рд╛рдЯ рдПрдЬ рдПрдЬ = рдПрдВрдб рдиреЗрдо рд▓рд╛рдЗрдХ?"
// рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рддреИрдпрд╛рд░реА
рд╕реЗрдЯ sc = рдбреАрдмреАред BindParameters (Stat, $ listbuild (1,1), $ listbuild ( 4,12 ), $ listbuild (4,50), $ listbuild ) (0,0), $ listbuild (4,50))
рд╕реЗрдЯ sc = рдбреАрдмреАред рд╕реЗрдЯрдкреИрд░рдореАрдЯрд░ (рд╕реНрдЯреЗрдЯ, $ рд╕реВрдЪреА рдирд┐рд░реНрдорд╛рдг (21), 1)
рд╕реЗрдЯ sc = рдбреАрдмреАред рд╕реЗрдЯрдкреИрд░рдореАрдЯрд░ (рд╕реНрдЯреЗрдЯ, $ рд╕реВрдЪреА ( "рдбреА%" ), 2)
// рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди
рд╕реЗрдЯ sc = рдбреАрдмреАред рдирд┐рд╖реНрдкрд╛рджрди (рд╕реНрдЯреЗрдЯ)
{рдХреЗ рд▓рд┐рдП
рдкрдж рдЫреЛрдбрд╝рдирд╛ : 'рдбреА.рдмреА. рдлрд╝реЗрдЪ (рд╕реНрдЯреЗрдЯ)
рд╕реЗрдЯ sc = рдбреАрдмреАред GetOneRow (рд╕реНрдЯреЗрдЯ, .Row)
for j = 1: 1: $ listlength (рдкрдВрдХреНрддрд┐) $ listget (рдкрдВрдХреНрддрд┐, j) _ " рд▓рд┐рдЦреЗрдВ "
рд▓рд┐рдЦреЛ !
}
// рдХрдорд╛рдВрдб рд╣рдЯрд╛рдПрдВ
рд╕реЗрдЯ sc = рдбреАрдмреАред рдбреНрд░реЙрдкрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ (рд╕реНрдЯреЗрдЯ)
// рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ
рд╕реЗрдЯ sc = рдбреАрдмреАред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ ()

рддреЛ, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

тАв ODBC рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд (DSN) рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХрдиреЗрдХреНрдЯ рд╡рд┐рдзрд┐ (DSN, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдкрд╛рд╕рд╡рд░реНрдб) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ :

db = ## рд╡рд░реНрдЧ ( % SQLGatewayConnection ) рд╕реЗрдЯ рдХрд░реЗрдВред % рдирдпрд╛ ()
// рдПрдХ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
db рдХрдиреЗрдХреНрдЯ ( "DSNName" , "sa" , "pwd" )

тАв рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ :

рд╕реЗрдЯ sc = рдбреАрдмреАред рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ ()

тАв рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдПрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХрдорд╛рдВрдб рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ред рдХрдорд╛рдВрдб рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, AllocateStatement () рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, AllocateStatement () рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓ рддрд░реНрдХ рдХреЛ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЖрдкрдХреЛ рдПрдХ рддрд░реНрдХ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ""ред рддрд░реНрдХ рдирд╛рдо рд╕реЗ рдкрд╣рд▓реЗ):

рд╕реЗрдЯ sc = рдбреАрдмреАред AllocateStatement (.Stat)

тАв рдПрдХ рдХрдорд╛рдВрдб рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, DropStatement () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рд╕реЗрдЯ sc = рдбреАрдмреАред рдбреНрд░реЙрдкрд╕реНрдЯреЗрдЯрдореЗрдВрдЯ (рд╕реНрдЯреЗрдЯ)

тАв рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ "рддреИрдпрд╛рд░" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ (рд╕реНрдЯреЗрдЯ, рдПрд╕рдХреНрдпреВрдПрд▓) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд┐рдзрд┐ рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдмрдирд╛рдИ рдЧрдИ рдХрдорд╛рдВрдб рдФрд░ sql- рдХреНрд╡реЗрд░реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдлрд┐рд░ "?" рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмрдЬрд╛рдп рд╕рд╛рдЗрдХрд▓ рд▓рд╛рдЗрди рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ:

// рдЕрдиреБрд░реЛрдз рддреИрдпрд╛рд░ рдХрд░реЗрдВ
рд╕реЗрдЯ sc = рдбреАрдмреАред рддреИрдпрд╛рд░ рдХрд░реЗрдВ (рд╕реНрдЯреЗрдЯрд╕, "рд╕реЗрд▓реЗрдХреНрдЯ рдХрд░реЗрдВ * рдЗрдирдлреЛрд░реЛ рд╡реНрд╣рд╛рдЯ рдПрдЬ рдПрдЬ = рдПрдВрдб рдиреЗрдо рд▓рд╛рдЗрдХ?"

тАв рдпрджрд┐ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ sql рдХреНрд╡реЗрд░реА рдкреНрд░реЗрд╖рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкреИрд░рд╛рдореАрдЯрд░ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, BindParameters () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред BindParameters () рд╡рд┐рдзрд┐ рдХреЗ рддрд░реНрдХ:


тАв BindParameters () рдкрджреНрдзрддрд┐ рдХреА рд╕рднреА рджрд▓реАрд▓реЗрдВ, рджреВрд╕рд░реА рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИрдВ, рдЯрд╛рдЗрдк % рд╕реВрдЪреА рдХреА рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ $ listbuild () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдХрдИ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рддреЛ рддрд░реНрдХреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ () рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдорд╛рди рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЗ рдХреНрд╡реЗрд░реА рд▓рд╛рдЗрди рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реИрдВ:

рд╕реЗрдЯ sc = рдбреАрдмреАред BindParameters (Stat, $ listbuild (1,1), $ listbuild ( 4,12 ), $ listbuild (4,50), $ listbuild ) (0,0), $ listbuild (4,50))

рдпрд╛

# include% occODBC ; рдореИрдХреНрд░реЛ рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛
рд╕реЗрдЯ sc = рдбреАрдмреАред BindParameters (
рд╕реНрдЯреЗрдЯ,
$ рд╕реВрдЪреА ( $$$ SQLPARAMINPUT , $$$ SQLPARAMINPUT ),
$ рд╕реВрдЪреА ( $$$ ODBCTYPEinteger , $$$ ODBCTYPEvarchar ),
$ рд╕реВрдЪреА (4,50),
$ рд╕реВрдЪреА (0,0),
$ рд╕реВрдЪреА (4,50)
)
рдиреЛрдЯ: рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХреЛрдб рдореЗрдВ, рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП % occODBC.inc рдпрд╛ % msql.inc рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ:

  • $$$ GetOdbcTypeNumber ("INTEGER") рдпрд╛ $$$ ODBCTYPEinteger 4 рд▓реМрдЯреЗрдЧрд╛;
  • $$$ SQLPARAMINPUT 1 (рдЗрдирдкреБрдЯ) рд╡рд╛рдкрд╕ рдХрд░реЗрдЧрд╛;
  • $$$ SQLPARAMINPUTOUTPUT 2 (рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ) рд╡рд╛рдкрд╕ рдЖрдПрдЧрд╛;
  • $$$ SQLPARAMOUTPUT 4 (рдЖрдЙрдЯрдкреБрдЯ) рд╡рд╛рдкрд╕ рдХрд░реЗрдЧрд╛;
  • рдЖрджрд┐

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреИрдЪ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдореИрдХреНрд░реЛ рдХреА рдкреВрд░реА рд╕реВрдЪреА рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред

тАв рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ SetParameter (Stat, $ listbuild (val), Numb) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдореНрди рддрд░реНрдХ рд╕реЗрдЯрдкреИрд░рдореАрдЯрд░ () рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:


тАв рдкреНрд░рддреНрдпреЗрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдкреИрд░рдореАрдЯрд░ () рд╡рд┐рдзрд┐ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

рд╕реЗрдЯ sc = рдбреАрдмреАред рд╕реЗрдЯрдкреИрд░рдореАрдЯрд░ (рд╕реНрдЯреЗрдЯ, $ рд╕реВрдЪреА рдирд┐рд░реНрдорд╛рдг (21), 1)
рд╕реЗрдЯ sc = рдбреАрдмреАред рд╕реЗрдЯрдкреИрд░рдореАрдЯрд░ (рд╕реНрдЯреЗрдЯ, $ рд╕реВрдЪреА ( "рдбреА%" ), 2)

тАв рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рд╖реНрдкрд╛рджрд┐рдд (рд╕реНрдЯреЗрдЯ) рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд┐рдд рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

рд╕реЗрдЯ sc = рдбреАрдмреАред рдирд┐рд╖реНрдкрд╛рджрди (рд╕реНрдЯреЗрдЯ)

рдиреЛрдЯ: JDBC / ODBC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрджрд╛рд╣рд░рдг рдХреНрд░рдорд╢рдГ рдХреНрд░рдорд╢рдГ UnitTest.JDBCSQL рдФрд░ % UnitTest.ODBCSQL рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In148944/


All Articles