ΠΡΡΠ³ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SQLPASSTHRU MODE. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΡΠΎ, ΠΊΠ°ΠΊ Π½Π°ΡΠΈΠ²-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ TTable.Append ΠΈΠ»ΠΈ TTable.Insert Π±ΡΠ΄ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ TQuery, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΊ ΡΠΎΠΉ ΠΆΠ΅ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ: NOT SHARED, SHARED NOAUTOCOMMIT ΠΈ SHARED AUTOCOMMIT. NOT SHARED ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½Π°ΡΠΈΠ²-ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡΡ β Π΄ΡΡΠ³ΠΎΠ΅. Π‘ΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ° Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΏΠΎΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π°ΠΊΡΠΈΠ²Π½Π°, Π½Π°ΡΠΈΠ²-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ (committed) Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. ΠΡΠ»ΠΈ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ TQuery, ΡΠΎ Π»ΡΠ±ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠ΅ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΎΡ ΠΎΠ΄ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΠ²Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ°, SHARED NOAUTOCOMMIT ΠΈ SHARED AUTOCOMMIT, Π΄Π΅Π»Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ²-ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΎΠ±ΡΠΈΠΌ ΠΎΠ΄Π½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. Π Π°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌΠΈ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Π½Π°ΡΠΈΠ²-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ. ΠΡΠΈ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ SHARED AUTOCOMMIT Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π½Π°ΡΠΈΠ²-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΎΡΠΊΠ°Ρ (Rollback). ΠΠ°ΠΏΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π°, Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΄Π΅Π»Π°Π½Ρ (committed) Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ Rollback. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π°ΡΠΈΠ²-ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ°ΠΌΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ SQLPASSTHRU MODE ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² SHARED NOAUTOCOMMIT ΠΈΠ»ΠΈ Π² NOT SHARED.
5. ΠΡΠ²ΠΎΠ΄ΡDelphi ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ·ΡΠΊΠ° SQL Ρ Π²Π°ΡΠΈΠΌΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . ΠΠ° ΡΡΠΎΠΉ Π½ΠΎΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΏΠΎΠΏΡΠ°ΡΠ°ΡΡΡΡ ΠΈ ΠΏΠΎΠΆΠ΅Π»Π°ΡΡ ΠΏΠΎΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SQL Π² Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ .
SQL: β ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ
Delphi 1
ΠΠ½ΠΎΠ³Π΄Π° ΡΡ Π΅ΠΌΠ° Π΄Π°Π½Π½ΡΡ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ ΠΈΠΌΠ΅Π» Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Delphi Π² ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ SQL ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΡΡΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΠΈΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ .
ΠΠ»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ SQL, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°Π±Π»ΠΈΡΡ Paradox ΠΈ dBASE, Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠΌΡ ΠΏΠΎΠ»Ρ Π΄Π°ΡΡ ΠΈΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° AS. ΠΡΠΈ ΡΡΠΎΠΌ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΡΡΠ°Π·Ρ ORDER BY Π² SQL-Π·Π°ΠΏΡΠΎΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ITEMS.DB:
SELECT I."PARTNO", I."QTY", (I."QTY" * 100) AS TOTAL
FROM "ITEMS.DB" I
ORDER BY TOTAL
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠΌΡ ΠΏΠΎΠ»Ρ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ ΠΈΠΌΡ TOTAL (Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ), ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΎ ΡΡΠ°Π»ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π² SQL-Π·Π°ΠΏΡΠΎΡΠ΅ Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ORDER BY.
ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² InterBase. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ°Ρ InterBase (IB) ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ΅ Local InterBase Server Π²ΡΠ΅ ΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ORDER BY ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΡΠΎΠ±ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ EMPLOYEE (ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ EMPLOYEE.GDB):
SELECT EMP_NO, SALARY, (SALARY / 12) AS MONTHLY
FROM EMPLOYEE
ORDER BY 3 DESCENDING
Π ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΈΡΡ IB ΠΈ LIBS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π²ΡΠΎΡΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄, ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ, ΠΎΠ±Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ SQL. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ SQL-Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡΡ Paradox, ΠΈ ΠΏΡΠΈΡΠΏΠΎΡΠ°Π±Π»ΠΈΠ²Π°Ρ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, Π° Π½Π΅ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½Π΅ΠΌ:
SELECT I."PARTNO", I."QTY", (I."QTY" * 100) AS TOTAL
FROM "ITEMS.DB" I
ORDER BY 3
SQL: β ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ
ΠΡΠ²Π°ΡΡ ΡΠ»ΡΡΠ°ΠΈ, ΠΊΠΎΠ³Π΄Π° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Delphi, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ SQL, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ·Π½Π°ΡΡ ΡΡΠΌΠΌΡ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SQL ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ SUM.
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ SQL-ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Local InterBase Server), Π²ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎ, ΠΈ ΡΡΠΌΠΌΠ° Π²ΡΡΠΈΡΠ»ΡΠ΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ SUM Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ EMPLOYEE (ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ EMPLOYEE.GDB):
SELECT SUM(SALARY / 12)
FROM EMPLOYEE
Π’Π° ΠΆΠ΅ ΡΠ°ΠΌΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π³ΡΡΠΏΠΏΠΈΡΡΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΡΡΠΎΠ»Π±ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ GROUP BY:
SELECT EMP_NO, SUM(SALARY / 12)
FROM EMPLOYEE
GROUP BY EMP_NO
ORDER BY EMP_NO
ΠΠΎΠΊΠ° SQL Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ»Π΅ΠΉ, Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ SQL ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ Π±ΡΠ΄Π΅Ρ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π½ΡΠΆΠ½Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π·Π°ΠΏΡΠΎΡΠ° Ρ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΠΌ ΠΏΠΎΠ»Π΅ΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ (ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TBatchMove), ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° TQuery Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΠΌΠΌΡ Π΄Π°Π½Π½ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅.
SQL: β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ SUBSTRING
SQL-ΡΡΠ½ΠΊΡΠΈΡ SUBSTRING ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Delphi, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ SQL, Π½ΠΎ ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ InterBase (IB) ΠΈ Local InterBase Server (LIBS). ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ SUBSTRING, ΠΏΡΠΈΠΌΠ΅ΡΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ ΠΊ local SQL, ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΡΠ΅Ρ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±Π»ΠΈΡ IB/LIBS.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ SUBSTRING:
SUBSTRING(<column> FROM <start> [, FOR <length>])
ΠΠ΄Π΅:
<column> β ΠΈΠΌΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° (substring).
<start> ΠΌΠ΅ΡΡΠΎ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°.
<length> Π΄Π»ΠΈΠ½Π° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ.
Π€ΡΠ½ΠΊΡΠΈΡ SUBSTRING Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½ΠΈΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ Π²ΡΠΎΡΠΎΠΉ, ΡΡΠ΅ΡΠΈΠΉ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ COMPANY:
SUBSTRING(COMPANY FROM 2 FOR 3)
Π€ΡΠ½ΠΊΡΠΈΡ SUBSTRING ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΈ Π΄Π»Ρ ΡΠΏΠΈΡΠΊΠ° ΠΏΠΎΠ»Π΅ΠΉ Π² SELECT-Π·Π°ΠΏΡΠΎΡΠ΅, Π³Π΄Π΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ WHERE Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π€ΡΠ½ΠΊΡΠΈΡ SUBSTRING ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ ΡΠΈΠΏΠ° String (Π½Π° ΡΠ·ΡΠΊΠ΅ SQL ΡΠΈΠΏ CHAR). ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ SUBSTRING, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² SELECT-Π·Π°ΠΏΡΠΎΡΠ΅ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Paradox CUSTOMER.DB):
SELECT (SUBSTRING(C."COMPANY" FROM 1 FOR 3)) AS SS
FROM "CUSTOMER.DB" C
ΠΠ°Π½Π½ΡΠΉ SQL-Π·Π°ΠΏΡΠΎΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ COMPANY, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΉ ΠΊΠ°ΠΊ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΠ°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ SS. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ SUBSTRING, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π² SQL-Π·Π°ΠΏΡΠΎΡΠ΅ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ WHERE (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡ ΠΆΠ΅ ΡΠ°ΠΌΡΡ ΡΠ°Π±Π»ΠΈΡΡ):
SELECT C."COMPANY"
FROM "CUSTOMER.DB" C
WHERE SUBSTRING(C."COMPANY" FROM 2 FOR 2) = "an"
ΠΠ°Π½Π½ΡΠΉ Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ, Π³Π΄Π΅ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ COMPANY ΡΠ°Π²Π½Ρ Β«arΒ».
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ½ΠΊΡΠΈΡ SUBSTRING Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π² Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ IB ΠΈ LIBS, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Π·Π°ΠΏΡΠΎΡΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ (ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅: IB ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, User-Defined Functions). ΠΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° LIKE ΠΈ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΠΌΠ°ΡΠΊΠ΅ΡΠΎΠ² ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΎΠΉ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ WHERE. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π±Π»ΠΈΡΡ EMPLOYEE (Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ EMPLOYEE.GDB):
SELECT LAST_NAME, FIRST_NAME
FROM EMPLOYEE
WHERE LAST_NAME LIKE "_an%"
ΠΠ°Π½Π½ΡΠΉ SQL-Π·Π°ΠΏΡΠΎΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ°Π±Π»ΠΈΡΡ, Π³Π΄Π΅ Π²ΡΠΎΡΠΎΠΉ ΠΈ ΡΡΠ΅ΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ LAST_NAME ΡΠ°Π²Π½Ρ Β«anΒ», ΡΠΌ. ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π±Π»ΠΈΡΡ Paradox. ΠΠ°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ IB ΠΈ LIBS Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° WHERE Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ (ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ SUBSTRING), ΡΠ°Π±Π»ΠΈΡΡ ΠΆΠ΅ Paradox ΠΈ dBASE (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, local SQL) ΠΌΠΎΠ³ΡΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π»ΡΠ±ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ.
Sybase
32-Π±ΠΈΡΠ½ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Sybase
Delphi 2
ΠΠ°Π½Π½ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Sybase ΡΠ΅ΡΠ΅Π· 32-Π±ΠΈΡΠ½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΡΠΈΡΠΌΡ Borland Sybase SQL Links, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π² ΡΠΎΡΡΠ°Π²Π΅ Delphi 2.x. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Sybase Π·Π°ΠΉΠΌΠ΅Ρ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ 10+ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°.
Π¨Π°Π³ΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ:
1. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ SQL Links ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° Π²Π°ΡΠ΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Π΄ΠΈΡΠΊΠ΅. ΠΡΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Delphi 2.x ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
2. ΠΠ½ΡΡΠ°Π»ΠΈΡΡΠΉΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Sybase.
3. ΠΡΠΈ ΠΏΠΎΡΠ²Π»ΡΠ²Π»Π΅Π½ΠΈΠΈ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π²ΡΠ±ΠΎΡΠ° 16β ΠΈ 32-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Sybase links, Π²ΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ 32-Π±ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ (ΠΎΡΠΌΠ΅ΡΡΡΠ΅ Π³Π°Π»ΠΎΡΠΊΠΎΠΉ) ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΡΠΈΡ 16-Π±ΠΈΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½Π°.
4. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅, Ρ Π²Π°Ρ ΠΏΠΎΠΏΡΠΎΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° AUTOEXEC.BAT. ΠΡΠ±Π΅ΡΠΈΡΠ΅ YES.
5. ΠΠ° Π·Π°ΠΏΡΠΎΡ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° SQL.INI ΠΎΡΠ²Π΅ΡΡΡΠ΅ YES.
6. Π ΡΠ΅ΠΊΡΠΈΠΈ Β«Input Server Name:Β» (Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΠ°) ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ 'Add' (Π΄ΠΎΠ±Π°Π²ΠΈΡΡ) Π΄Π»Ρ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° Π² ΡΠΏΠΈΡΠΎΠΊ Β«Server Entry:Β». ΠΠ°ΡΠ΅ΠΌ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«Service Type:Β» (ΡΠΈΠΏ ΡΠ΅ΡΠ²ΠΈΡΠ°) (Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ 'query' (Π·Π°ΠΏΡΠΎΡ)), Β«Platform:Β» (ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°) (ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π² NT, dos ΠΈΠ»ΠΈ Win3), ΠΈ Β«Net-Library Driver:Β» (Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ) (Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ NLWNSCK ΠΈΠ»ΠΈ NLNWLINK) ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²Π΅ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠ°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Β«Connection Information/Network Address:Β» (Π°Π΄ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ/ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ), Π²Π²Π΅Π΄Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ 'Add Service' (Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ΅ΡΠ²ΠΈΡ). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠΏΠΈΠ½Π³ΠΎΠ²Π°ΡΡ Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ, ΡΠ΅Π»ΠΊΠ°Ρ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ 'Ping'. Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Π²ΡΠΉΠ΄ΠΈΡΠ΅ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.