الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[تنبيه - عنوان غير مناسب : ]data source

بدأه M.Ghorab في 26 أغسطس 2010 · 6 رد · 408 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
package project1;

import java.sql.*;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import javax.sql.DataSource;

import oracle.jdbc.OracleDriver;

public class Class1 {
    public static void main(String[] args) throws SQLException {
        Context context;
        Connection con=null;
        try {
            context = new InitialContext();
            DataSource ds = (DataSource)context.lookup("jdbc/loginDS");
              con= ds.getConnection();
        } catch (SQLException e) {
            System.out.println(e);;
        }
         catch (NamingException e) {
            System.out.println(e);
        }
        PreparedStatement pr = con.prepareStatement("Select * from tab");
        ResultSet re = pr.executeQuery();
        if(re.next())
            System.out.println(re.getString(1));
    }
}

iهل هناك مشكلة فى هذا الكود

مع العلم انه يعمل مع servelt

تم تعديل هذه المشاركة بواسطة محمد عرسان في 26 أغسطس 2010 في 04:31 — السبب: add code tag

#2

الأخ الكريم/الأخت الكريمة

السلام عليكم ورحمة الله وبركاته

مرحباً بكم في منتدى الفريق العربي للبرمجة

نود تنبيهك أن العنوان غير مناسب.

الرجاء اختيار عنوان مناسب أكثر في مواضيعك القادمة، وهذا بمثابة إشعار للأهمية.

وفي حال التكرار سيتعرض موضوعك للإغلاق والحذف!!!

قواعد المشاركة

/index.php?showtopic=29343

شاكرين لكم حُسن تعاونكم

#3

ارجو وضع عنوان مناسب

#4

تكلم عن مشكلتك يا أخي

بشكل مفصل

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

انا اريد ان اقوم بعمل مشروع باستخدام SE والربط بالداتا بيز ولكن اريد استخدام هذا الكود اى باستخدام DataSource وهناك مشكلة عند عمل رن

Context context;
        Connection con=null;
        try {
            context = new InitialContext();
            DataSource ds = (DataSource)context.lookup("jdbc/loginDS");
              con= ds.getConnection();
        } catch (SQLException e) {
            System.out.println(e);;
        }
         catch (NamingException e) {
            System.out.println(e);
        }

error

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial

تم تعديل هذه المشاركة بواسطة محمد عرسان في 26 أغسطس 2010 في 15:02 — السبب: add tags

#6

لماذا لا تستعمل الطريقة العادية للحصول على Connection؟

لم أستعمل هذه الطريقة من قبل، لكن حسب ما فهمت، فإنك عند إنشاء InitialContext، فإن هذا الأخير يبحث عن بعض الخصائص، والتي يجب عليك أن تمررها له، وهي Context.INITIAL_CONTEXT_FACTORY و Context.PROVIDER_URL

Properties props=new Properties();  
props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "????");  
props.setProperty(Context.PROVIDER_URL, "????");  

Context ctx=new IntitialContext(props);

وإن لم تحددها تحصل على NoInitialContextException

هذا رابط ممكن يفيدك

http://www.coderanch...-ejb-st-chapter

#7

يوجد طبعا مشكله ,,,

إن كان تطبيقك لا يوجد بها خادم , إستخدم JDBC بواسطة DriverManager ...

لأن الطريقة الموضحه بالأعلى تتطلب وجود خادم JNDI بحيث يوجد به ال key الخاص بك "java/loginDS" في JDNI .... (غالبا ما يتم وضعهم لك عن طريق configurations تقوم بعملها من خلال ال app server او ال web server )

إن أردت إستخدام الكود بالأعلى مع Desktop apps ,, يمكنك وضع ال Datasource داخل RMI Register بهذا المفتاح في بداية تشغيل البرنامج,,, و من ثم تقوم بالبحث عنه أينما أردت ..

شاهد هذا الموضوع :

EN: http://m-hewedy.blog...on-managed.html

أو هذا:

ِAR: /index.php?showtopic=215018

تم تعديل هذه المشاركة بواسطة هويدي في 26 أغسطس 2010 في 23:05

مواضيع مشابهة