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

مساعدة في برنامج جافا يقوم بالاتصال بقاعدة بيانات الموقع Mysql

بدأه EMNALI في 9 مارس 2011 · 9 رد · 827 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أخواني في منتدى الجافا

قمت بعمل كلاس يقوم بالاتصال بقاعدة بيانات من نوع Mysql

وعند تنفيذه يعطي خطأ

Access denied for user 'xxxxx'@'94.98.58.230' (using password: YES)

مع العلم لو قمت بوضع هذه الابي يقوم بالاتصال بقاعدة البيانات

ويعطي نتائج صحيح

وطبعا من المستحيل انك تضيف كل الايبي في الدنيا علشان يشتغل البرنامج

الشيفرة هي

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package DataBase;

/**
 *
 * @author engali
 */
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.*;
public class ConnctionDataBase {

	public static String userid="xxx", password = "pppppp";
 public static final String JDBC_Driver="sun.jdbc.odbc.JdbcOdbcDriver";
 public static final String url = "jdbc:mysql://xxxxx.com/abcdd?";
 Connection con = null;
 public Connection CreateConnection(){

  try {
   Class.forName(JDBC_Driver);
   System.out.println("connection is ok");
  }
  catch(java.lang.ClassNotFoundException e) {
                	System.out.println("connection is ok2");
   System.err.print("ClassNotFoundException: ");
   System.err.println(e.getMessage());
  }
  try {

 	con = DriverManager.getConnection(url, userid, password);
 	con.setAutoCommit(false);
               	System.out.println("connection is ok3");

  }
  catch(SQLException ex) {
  //System.err.println("SQLException: " + ex.getMessage());
   ex.printStackTrace();
  }
  return con;
	}
    	public void closeConnection() throws SQLException{con.close();System.out.println("connection is close");}
    	public static void main(String arg[]) throws SQLException
    	{
        	ConnctionDataBase dd=new ConnctionDataBase();
        	long startTime = System.currentTimeMillis();


        	Statement stmt= dd.CreateConnection().createStatement();
        	ResultSet rs = stmt.executeQuery("Select * from price ");int i=0;
          	while(rs.next())
    	{


            	System.out.println("ss"+""+i++);


    	}// end while
        	long endTime = System.currentTimeMillis();

         	System.out.println("Total elapsed time in execution of  method callMethod() is :"+ (endTime-startTime)+" Millis");
           	dd.closeConnection();
    	}
 }

في هل من مساعدة لموضع الايبي

تحياتي

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#2

استخدم هذه الداله

فهى تعود لك بالـ ip الخاص بموقع معين

  private String getIp(String url) {
    	InetAddress address = null;
    	try {
        	address = InetAddress.getByName(url);
    	} catch (Exception ex) {
        	ex.printStackTrace();
    	}
    	return address.getHostAddress();
	}

مثلا

   System.out.println(getIp("google.com"));

Software Developer
Mahmoudkelany.com


 

#3

اخي محمود

المشلكة انه لازم تضيف ايبي المتصل على السيرفر ضمن السموح لهم بالاتصال على قاعدة البيانات

هنا المشكلة بالزبط

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#4

اخى EMNALI انت متأكد ان هذا الكود يعمل ؟

public static final String JDBC_Driver = "sun.jdbc.odbc.JdbcOdbcDriver";
public static final String url = "jdbc:mysql://xxxxx.com/abcdd?";

لاحظت هنا انك تقوم بتحميل ال driver الخاص بالتعامل مع قاعدة بيانات MS Access

وتتصل بقاعدة بيانات MySql كيف هذا لابد انه لا يعمل :wacko:

تقبل مرورى

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 10 مارس 2011 في 13:04


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#5
EMNALI كتب:

اخي محمود

المشلكة انه لازم تضيف ايبي المتصل على السيرفر ضمن السموح لهم بالاتصال على قاعدة البيانات

هنا المشكلة بالزبط

لم اتفهم ما تقصد

ممكن توضح اكثر

Software Developer
Mahmoudkelany.com


 

#6

لماذا لا تستخدم JDBC الخاص بـ MySQL؟

هذه المشكلة غريبة من نوعها

تحياتي

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

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

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

728x90.png

#7

أخواني في المنتدى خطا فني في عملية النسخ

أنا في الاصل استخدم

com.mysql.jdbc.Driver

أذا توجد اقتراحات أخرى غير هذه الطرقة افيدونا

جزاك الله خيرا

تحياتي

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#8

ممكن تعرض الكود الذى يعمل معك كما هو مع اخفاء اسم المستخدم وكلمة المرور طبعا

وتغيير ال ip برقم اخر

ورقم المنفذ port ان وجد لان mysql تستخدم 3306

لعلنا نستطيع مساعدتك


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#9

هذا الكود

import java.sql.*;

public class ConnctionDataBase {

	public static String userid="xx", password = "yyy";
public static final String JDBC_Driver="com.mysql.jdbc.Driver";
public static final String url = "jdbc:mysql://riyadh-sms.com:3306/riyadh_smspro?";
Connection con = null;
public Connection CreateConnection() throws InstantiationException, IllegalAccessException{

  try {
   Class.forName(JDBC_Driver);
   System.out.println("connection is ok");
  }
  catch(java.lang.ClassNotFoundException e) {
                	System.out.println("connection is ok2");
   System.err.print("ClassNotFoundException: ");
   System.err.println(e.getMessage());
  }
  try {



	con = DriverManager.getConnection(url, userid, password);
	con.setAutoCommit(false);
           		System.out.println("connection is ok3");

  }
  catch(SQLException ex) {
  //System.err.println("SQLException: " + ex.getMessage());
   ex.printStackTrace();
  }
  return con;
	}
    	public void closeConnection() throws SQLException{con.close();System.out.println("connection is close");}
    	public static void main(String arg[]) throws SQLException, InstantiationException, InstantiationException, InstantiationException, IllegalAccessException
    	{
        	ConnctionDataBase dd=new ConnctionDataBase();
        	long startTime = System.currentTimeMillis();


        	Statement stmt= dd.CreateConnection().createStatement();
        	ResultSet rs = stmt.executeQuery("Select * from sms_price ");int i=0;
          	while(rs.next())
    	{


            	System.out.println("ss"+""+i++);


    	}// end while
        	long endTime = System.currentTimeMillis();

     		System.out.println("Total elapsed time in execution of  method callMethod() is :"+ (endTime-startTime)+" Millis");
       		dd.closeConnection();
    	}
}

رسالة الخطأ

java.sql.SQLException: Access denied for user 'xx'@'94.98.58.230' (using password: YES)
    	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3603)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3535)
    	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:934)
    	at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4104)
    	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1299)
    	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2338)
    	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371)
    	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
    	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
    	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    	at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
    	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
    	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
    	at java.sql.DriverManager.getConnection(DriverManager.java:582)
    	at java.sql.DriverManager.getConnection(DriverManager.java:185)
    	at DataBase.ConnctionDataBase.CreateConnection(ConnctionDataBase.java:35)
    	at DataBase.ConnctionDataBase.main(ConnctionDataBase.java:53)
Exception in thread "main" java.lang.NullPointerException
    	at DataBase.ConnctionDataBase.main(ConnctionDataBase.java:53)
Java Result: 1

تم تعديل هذه المشاركة بواسطة EMNALI في 10 مارس 2011 في 14:39

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#10

ما هي لازمة علامة الاستفهام في آخر الجملة

يهيألي أن الأمر له علاقة بقاعدة mysql وليس بالجافا

تحياتي

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

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

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

728x90.png

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…