الاتصال بقواعد بيانات PostgreSQL من خلال تطبيقات الجافا

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

الاتصال بقواعد بيانات PostgreSQL من خلال تطبيقات الجافا

مُساهمة من طرف أحمد مناع في الأربعاء يناير 29, 2014 9:51 pm

بسم الله الرحمن الرحيم

أهلا وسهلا بكم إخوانى الكرام .....درس اليوم عن قاعدة بيانات PostgreSQL وهى عبارة عن نظام إدارة قواعد البيانات علائقي يعتمد التعامل معه على لغة إس كيو إل وقد تم إصدارها بموجب ترخيص معهد ماساتشوستس للتكنولوجيا وبالتالي فهو يعتبر من البرمجيات مفتوحة المصدر و موقعها الرسمى هو :

http://www.postgresql.org

و تدعم قاعده بيانات PostgreSQL العديد من الخصائص مثل tablespaces و transactions و online/hot backups و تتعامل مع اللغات العالميه منهم العربيه و المزيد و المزيد من الخصائص و المميزات.

و مثلها مثل أى قاعده بيانات لها حدود فحدودها هى:
1- أقصى مساحه لقاعده البيانات غير محدوده.
2- أقصى مساحه للجدول هى 32 تيرابايت.
3- أقصى مساحه للسجل هى 1.6 تيرابايت.
4- أقصى مساحه للحقل هى واحد جيجابايت.
5- أقصى عدد سجلات يمكن تسجيلها غير محدود (طبعاً يمكن تحديدها بحساب مساحه الحقول).
6- أقصى عدد حقول يمكن إنشائها من 250 إلى 1600 حقل و ذلك إعتماداً على نوع الحقول.
7- أقصى عدد الفهارس Indexes الممكن إنشائها بكل جدول غير محدود.

و تتميز بأنها تعمل على العديد من الأنظمه مثل الوندوز و اللينوكس و الماك....كما أنها تعمل على كثير من المنصات البرمجية  Java (JDBC), ODBC, Perl, Python, Ruby, C, C++, PHP

وفى هذا المقال التعليمي سنتعلم سويا كيفية ربط تطبيق جافا إلى خادم قاعدة البيانات PostgreSQL من خلال JDBC driver سائق الاتصال الخاص بتلك القاعدة  ....

1_ تحميل و تثبيت خادم PostgreSQL

وقبل البدء تأكد أن لديك نسخة من خادم قاعدة البيانات PostgreSQL database server مثبيت إما على جهاز الكمبيوتر الخاص بك أو خادم ويب مخصص.... كما تم اختبار التعليمات البرمجية في هذا المقال التعليمي مع نسخة PostgreSQL 9.1

2_ تحميل سائق الاتصال PostgreSQL JDBC driver

يمكنك الحصول على أحدث إصدار من سائق الاتصال JDBC driver لقواعد بيانات PostgreSQL من هـــــــنا  حاليا هناك نسختين:




    • JDBC3 Postgresql Driver : لـــJDK 1.4 و 1.5 JDK
    • JDBC4 Postgresql Driver: لـــــ JDK 1.6 و 1.7 JDK




لذلك قم باختيار واحد يطابق مع الإصدار JDK الخاص بك.وهو في الواقع ملف jar بحيث يمكنك وضعه مباشرة في CLASSPATH مسار التطبيق وهما الملفين postgresql-VERSION.jdbc3.jar   &  postgresql-VERSION.jdbc4.jar l]

3_ بناء جملة الاتصال بقواعد بيانات PostgreSQL


يتم بناء نص الاتصال بقاعدة بيانات PostgreSQL بأحد العبارات التالية :


الرمز:
jdbc:postgresql:database



الرمز:
jdbc:postgresql://host/database


الرمز:
jdbc:postgresql://host:port/database


الرمز:
jdbc:postgresql://host:port/database?user&password


حيث أن :


  • host ...اسم المضيف أو عنوان IP للجهاز الذي يتم تشغيل خادم PostgreSQL. إذا تم حذفها، الافتراضي هو المضيف المحلي ocalhost.
  • port ...هو رقم المنفذ الذى يستمع اليه المقلم  إذا تم حذفها، الافتراضي هو 5432 .
  • database ....أسم قاعدة البيانات المراد الاتصال بها
  • user&password ....اسم المستخدم وكلمة المرور لقاعدة البيانات 


4_ أستدعاء أو تسجيل سائق الاتصال JDBC driver for PostgreSQL

أذا كان لديك اصدار الجافا JDK 5.0 و تستخدم سائق الاتصال JDBC 3.0 فيجب علينا استدعائه او تسجيلة على النحو التالى :

الرمز:
Class.forName("org.postgresql.Driver");

أو على النحو التالى :

الرمز:
DriverManager.registerDriver(new org.postgresql.Driver());

أما اذا كان لديك اصدار الجافا JDK 6.0 أو اى إصدار احدث فأنت لست ملزم بهذا التسجيل و ذلك لكون مدير سائق الاتصال JDBC driver manager يمكنه الكشف عن سائق الاتصال لديك و تحملية للطيبق

5_ إنشاء اتصال بقاعدة بيانات PostgreSQL

لتأسيس أو إنشاء اتصال بقاعدة بيانات PostgreSQL  يجب استدعاء الأسلوب getConnection () من الطبقة DriverManager وتمرير نص الاتصال اليها و نستطيع أن نختار واحد في ثلاثة طرق لاستخدام هذا الأسلوب:

_ الطريقة getConnection(String url)

الرمز:
String dbURL = "jdbc:postgresql:ProductDB?user=root&password=secret";
Connection conn = DriverManager.getConnection(dbURL);


_الطريقة  getConnection(String url, String user, String pass)

الرمز:
String dbURL = "jdbc:postgresql://localhost/ProductDB";
String user = "root";
String pass = "secret";
Connection conn = DriverManager.getConnection(dbURL, user, pass);


_الطريقة getConnection(String url, Properties parameters)

الرمز:
String dbURL = "jdbc:postgresql://localhost:5432/ProductDB";
Properties parameters = new Properties();
parameters.put("user", "root");
parameters.put("password", "secret");
Connection conn = DriverManager.getConnection(dbURL, parameters);


و اليكم مثال كامل للاتصال بقاعدة بيانات على الانترنت باستخدام الطرق الثلاثة اعلا و ذلك على النحو التالى :

الرمز:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class JdbcPostgresqlConnection {
 
    public static void main(String[] args) {
        // create three connections to three different databases on localhost
        Connection conn1 = null;
        Connection conn2 = null;
        Connection conn3 = null;
 
        try {
            // Connect method #1
            String dbURL1 = "jdbc:postgresql:ProductDB1?user=root&password=secret";
            conn1 = DriverManager.getConnection(dbURL1);
            if (conn1 != null) {
                System.out.println("Connected to database #1");
            }
 
            // Connect method #2
            String dbURL2 = "jdbc:postgresql://localhost/ProductDB2";
            String user = "root";
            String pass = "secret";
 
            conn2 = DriverManager.getConnection(dbURL2, user, pass);
            if (conn2 != null) {
                System.out.println("Connected to database #2");
            }
 
            // Connect method #3
            String dbURL3 = "jdbc:postgresql://localhost:5432/ProductDB3";
            Properties parameters = new Properties();
            parameters.put("user", "root");
            parameters.put("password", "secret");
 
            conn3 = DriverManager.getConnection(dbURL3, parameters);
            if (conn3 != null) {
                System.out.println("Connected to database #3");
            }
 
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            try {
                if (conn1 != null && !conn1.isClosed()) {
                    conn1.close();
                }
                if (conn2 != null && !conn2.isClosed()) {
                    conn2.close();
                }
                if (conn3 != null && !conn3.isClosed()) {
                    conn3.close();
                }
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }
}


______________

أقرأ ايضا :





[*]الدرس(15)_قواعد البيانات (إنشاء قاعدة بيانات Java DB و الاتصال بها)
[*]الدرس(16)_قواعد البيانات (الاتصال بقواعد بيانات Access )!
[*]الدرس(17)_قواعد البيانات (إنشاء قواعد بيانات MySQL من خلال NetBeans)!
[*]الدرس(18)_قواعد البيانات (التعامل مع قواعد بيانات MySQL)!

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم

إن فقدت مكان بذورك التي بذرتها يوما ما سيخبرك المطر أين زرعتها ..لذا إبذر الخير فوق أي أرض وتحت أي سماء ومع أي أحد.. فأنت لا تعلم أين تجده ومتى تجده؟! إزرع جميلا ولو في غير موضعه .... فلا يضيع جميلا أينما زرعا .. فما أجمل العطاء... فقد تجد جزاءه في الدنيا أو يكون لك ذخرا في الآخرة

أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 810
النقاط : 1479
التقيم : 69
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الاتصال بقواعد بيانات PostgreSQL من خلال تطبيقات الجافا

مُساهمة من طرف StarPixel في الخميس يناير 30, 2014 10:59 am

لي عودة ،، ^_^

StarPixel
..
..

تاريخ التسجيل : 22/01/2014
المساهمات : 15
النقاط : 15
التقيم : 0
الدولة : اليمن
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الاتصال بقواعد بيانات PostgreSQL من خلال تطبيقات الجافا

مُساهمة من طرف زهراء في الثلاثاء ديسمبر 02, 2014 8:10 am


جزاكم الله خيرا استاذى الفاضل

زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 262
النقاط : 372
التقيم : 24
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى