Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠœΠΈΡ€ InterBase. АрхитСктура, администрированиС ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π² InterBase/FireBird/YaffilΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 64

Автор А Ковязин

Π‘ΠΎΡ€ΠΎΡ‚ΡŒΡΡ с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ прСдставлСниСм сообщСний InterClient Π½Π° русском языкС ΠΌΠΎΠΆΠ½ΠΎ двумя способами: Π»ΠΈΠ±ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² качСствС значСния для "Π―Π·Ρ‹ΠΊ(ΠœΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)" язык "Английский" ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠΊΠ½ΠΎ диагностики Π½Π° английском языкС, Π»ΠΈΠ±ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ JDBC-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° InterBase interclient.jar с ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ русского языка. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ с сайта http://people.comita.spb.ru/users/sergeya/Java/interclient.jar ΠΈΠ»ΠΈ с сайта ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ этой ΠΊΠ½ΠΈΠ³ΠΈ www.InterBase-world.com.

Π—Π΄Π΅ΡΡŒ приводится английский Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΠΊΠ½Π° диагностики, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΎ Π½Π° рисункС 3.5:





Рис 3.5. Окно диагностики соСдинСния Ρ‡Π΅Ρ€Π΅Π· InterClient

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· рисунка, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ соСдинСниС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· InterClient, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ поля "InterServer Host", "Database File", Π° Ρ‚Π°ΠΊΠΆΠ΅ "User" ΠΈ "Password". Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΏΠΎ локальной сСти (ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π° собствСнной локальной машинС), Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ "Timeout" ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… test.gdb ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ InterBase Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅-сСрвСрС server_nt, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· InterClient. Если обычная строка соСдинСния ΠΊ Π±Π°Π·Π΅ выглядит Ρ‚Π°ΠΊ:

server_nt:Π‘:\Database\test.gdb

Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти Π² ΠΏΠΎΠ»Π΅ "InterServerHost" Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ "server_nt", Π° Π² ΠΏΠΎΠ»Π΅ Database File - "C:/Database/test.gdb". ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² качСствС раздСлитСля ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прямая косая Ρ‡Π΅Ρ€Ρ‚Π°. Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, InterClient позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для раздСлСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² строкС соСдинСния ΠΈ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΡƒΡŽ Windows-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ нСобходимости ΠΊΠ²ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° Java.

НаТимаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ Test ΠΈ Π²ΠΈΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ подсоСдинСния ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°-транслятор InterServer ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Π³Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ InterBase. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ "InterServer Host" совпадаСт с ΠΈΠΌΠ΅Π½Π΅ΠΌ сСрвСра, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ InterBase. ДопускаСтся, Π½ΠΎ Π½Π΅ рСкомСндуСтся ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΠΎΠ»Π΅ "InterServer Host" IP-адрСс ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°- сСрвСра.

Π˜Ρ‚Π°ΠΊ, Ссли соСдинСниС ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ соСдинСния Π² ΠΎΠΊΠ½Π΅ диагностики. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ свСдСний, Π²Ρ‹Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² ΠΎΠΊΠ½Π΅ диагностики для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ со строкой соСдинСния localhost:C:\Database\test.gdb, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅:

InterClient Release: 2.0.1 Test Build,

Client/Server Edition

InterClient compatible JRE versions: 1.3

InterClient compatible IB versions: 5, 6

InterClient driver name:

InterBase.interclient.Driver

InterClient JDBC protocol: jdbc:InterBase:

InterClient JDBC protocol version: 20001

InterClient expiration date: no expiration date

Testing database URL

jdbc:InterBase://localhost/C:/Database/test.gdb.

Connection established to

jdbc:InterBase://localhost/C:/Database/test.gdb

Database product name: InterBase

Database product version: WI-T6.2.773 Firebird 1.0

Database ODS version: 10.0

Database Page Size: 8,192 bytes

Database Page Allocation: 134 pages

Database Size: 1,072 Kbytes

Database SQL Dialect: 3

Middleware JDBC/Net server name: InterServer

Middleware JDBC/Net server version: 2.0.1 Test Build

Middleware JDBC/Net server protocol version: 20001

Middleware JDBC/Net server expiration date: no expiration date

Middleware JDBC/Net server port: 3060

Test connection closed.

***** N0 installation problems detected! *****

Помимо Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… свСдСний, Π² ΠΎΠΊΠ½Π΅ диагностики выводится строка JDBC- соСдинСния, которая Π±Ρ‹Π»Π° использована для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ связи с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…:

jdbc:InterBase://localhost/C:/Database/test.gdb

Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ способ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ синтаксичСски ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ строки JDBC-соСдинСния. Π”Π°Π²Π°ΠΉΡ‚Π΅ сохраним эту строку для Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ использования Π² нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния Π½Π° Java

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния Π½Π° Java, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ связь с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π΅ Π½Π° экранС.

Π₯отя Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ показываСтся Ρ€Π°Π±ΠΎΡ‚Π° с InterBase, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ сСрвСрами Π‘Π£Π‘Π”. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Java, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅, JDBC прСдоставляСт ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ способ общСния своих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π‘Π£Π‘Π”, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ JDBC-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. InterBase Π½Π΅ являСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, ΠΈ любой Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ смоТСт Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² использовании JDBC-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° InterBase, Ссли ΠΎΠ½ Ρ€Π°Π½Π΅Π΅ ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» с JDBC.

Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая находится Π² Ρ„Π°ΠΉΠ»Π΅ SampleInterBase2JAVA.Java:

import Java.sql.*;

public class SampleInterBase2JAVA {

public static void main(String[] args){

// срока соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… InterBase String url =

"jdbc:InterBase://localhost/C:/Database/test.gdb"; try {

// Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для InterBase

Class.forName("InterBase.interclient.Driver");

} catch(Java.lang.ClassNotFoundException e) {

// Π² случаС, Ссли Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½,

// Π²Ρ‹Π΄Π°Π΅ΠΌ сообщСниС ΠΎΠ± ошибкС

System.err.printlnfe.getMessage()) ;

}

Connection conn = null; // соСдинСниС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…

try {

// создаСм соСдинСниС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ conn)

// ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² строкС соСдинСния url

// ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/ΠΏΠ°Ρ€ΠΎΠ»ΡŒ:

SYSDBA/masterkey

conn = DriverManager.getConnection(url,"SYSDBA", "masterkey");

} catch(Java.sql.SQLException sqle){

// Π² случаС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ

// Π²Ρ‹Π΄Π°Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ сообщСниС ΠΎΠ± ошибкС

System.err.println(sqle.getMessage()) ;

}

//послС создания соСдинСния

// создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ stint

Statement stmt = null;

try{

stmt = conn.createStatement();

}catch(Java.sql.SQLException EsqlConn){

System.err.printlntEsqlConn.getMessage());

}

// тСкст SQL-запроса

String sSQL = "Select ID, NAME FROM TableExample";

ResultSet rs = null;

try{

// выполняСм запрос ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

//Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ResultSet rs

rs = stmt.executeQuery(sSQL);

}catch( Java, sql. SQL/Exception EsqlConn) {

System.err.printIn(EsqlConn.getMessage());

}

// распСчатываСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экранС

try{

while (rs.next()) {

int id = rs.getlntC'ID");

String s = rs.getStringt"NAME");

System.out.println(id + " " + s) ;

}

}catch(Java.sql.SQLException EsqlFetch){

System.err.println(EsqlFetch.getMessage());

}

}

}

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту Ρ‚Π΅ΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Java.exe SampleInterBase2JAVA

Если всС установлСно ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ сущСствуСт такая Π±Π°Π·Π°, Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π΄Π²Π° столбца с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ. Однако Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°Ρ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ· Java с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, содСрТащими ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Ρƒ.

Если Π²Ρ‹ слСдовали рСкомСндациям, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π² Π³Π»Π°Π²Π΅ "Русификация InterBase" (Ρ‡. 1), Ρ‚ΠΎ ваша тСстовая Π±Π°Π·Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдполагаСтся Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ русскиС символы, создана с использованиСм Π½Π°Π±ΠΎΡ€Π° символа (charser) WIN1251.

Если ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… строки, содСрТащиС русскиС символы описанным Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ способом, Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ символы с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ JDBC-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ InterBase ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символов для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΈΡ€ΠΈΠ»Π»ΠΈΡ†Π΅ΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… соСдинСния. Для этого слСдуСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Properties ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ соСдинСния. Π—Π° Π½Π°Π±ΠΎΡ€ символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ charset. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ соСдинСния:

// Π·Π°Π΄Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ соСдинСния строку соСдинСния,

// имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈ Π½Π°Π±ΠΎΡ€ символов

String url = "jdbc:InterBase://localhost/C:/Database/test.gdb";

String uName = "SYSDBA";

String pass = "masterkey";

String charSet="cp!251";

// создаСм структуру для хранСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² соСдинСния

Properties prop = new Properties();

prop.put("user", uName);

prop.put("password", pass);

prop.put{"charset", charSet);

// ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ соСдинСниС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… InterBase

// с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° символов

Connection db = DriverManager.getConnection(url, prop);

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² прилоТСниях Java с Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с кирилличСскими символами Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… InterBase.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой Π³Π»Π°Π²Π΅ описан JDBC-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для InterBase ΠΈ Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½ΠΎΠ² - InterClient ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прилоТСния Π½Π° Java, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… InterBase ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ запрос. Основная идСя этой Π³Π»Π°Π²Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, насколько Π»Π΅Π³ΠΊΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ InterBase ΠΈ Java.









































АдминистрированиС ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° InterBase

Установка InterBase - взгляд ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ

InterBase ΠΊΠ°ΠΊ встраиваСмая Π‘Π£Π‘Π”

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» этой Π³Π»Π°Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ посвящСн ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ процСсса установки Intel Base ΠΈ Π΅Π³ΠΎ ΠΊΠ»ΠΎΠ½ΠΎΠ² Π½Π° ОБ Windows. Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ попытаСмся ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ "встроСнная" (embedded) Π‘Π£Π‘Π”, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ InterBase.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° этой Π³Π»Π°Π²Ρ‹ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π½Π° ОБ Windows? Π§Ρ‚ΠΎ Π±Ρ‹ Π½ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΈ Linux, Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ сСрвСрных инсталляций InterBase осущСствляСтся ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ Windows, Π° Ρ‡Ρ‚ΠΎ касаСтся количСства клиСнтских установок, Ρ‚ΠΎ ОБ Windows здСсь Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²Π½Π΅ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ рассмотрим вопросы встраивания InterBase ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Windows-прилоТСния

Π›Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ простота администрирования Π΄Π΅Π»Π°ΡŽΡ‚ InterBase ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ для создания Ρ‚ΠΈΡ€Π°ΠΆΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ "установил ΠΈ Π·Π°Π±Ρ‹Π»". Π‘Π£Π‘Π” Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠ³Ρ€Π°Π΅Ρ‚ "Π·Π°ΠΊΡƒΠ»ΠΈΡΠ½ΡƒΡŽ" Ρ€ΠΎΠ»ΡŒ - Π² ΠΈΠ΄Π΅Π°Π»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½ΠΈΡ‡Π΅Π³ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, какая Π‘Π£Π‘Π” обслуТиваСт Π΅Π³ΠΎ запросы. К встроСнной Π‘Π£Π‘Π” ΠΏΡ€Π΅Π΄ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ высокиС трСбования ΠΏΠΎ надСТности ΠΈ особыС условия администрирования, сводящиС ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ участиС администратора Π‘Π£Π‘Π”.