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

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

اذهب الى الأسفل

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

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

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

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

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

و تدعم قاعده بيانات 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/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

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

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

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

لي عودة ،، ^_^
StarPixel
StarPixel
..
..

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

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

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

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


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

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

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

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


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