اذهب إلى المحتوى

السؤال

نشر

هل يوجد موقع او برنامج يقوم بعملية كتابة البيانات لي على شكل sql statement

على سبيل المثال لدي جدول بيانات في الاكسس وارغب بأخذ عمود الهواتف منه  وهو يحتوي على عدد كبير من الأرقام ارغب بتحويلها الى  sql statement ثم أقوم بأدرجها في  قواعد mysql على شكل statement

هل توجد موقع تقدم هذا الخدمة ؟احد لديه فكره عن الامر؟

بحيث انني اقوم بنقل بيانات العمود مثلا : 

12365

24654

23154

واحصل على نتيجة insert  sql statement لهم 

Recommended Posts

  • 1
نشر

يتوفر ل PHP واجهة برمجية تدعى PDO تعمل على تحقيق التوافق بين الشيفرات البرمجية التي نكتبها ب SQL لتعمل مع مختلف محركات قواعد البيانات mySQL و SQL Server كما توفر عمل اتصال مع قواعد بيانات Access.

  • الشيفرة التالية تعمل على قراءة بيانات من ملف Access حيث نحتاج لتوفر مسار الملف وهو accdatabase
  • و اتصال مع قاعدة بيانات mySQL عن طريق معلوماتها، اسم القاعدة و بيانات المستخدم
  • قراءة البيانات من الملف مع تحديد الحقول المطلوبة ثم حشرها في قاعدة البيانات 
<?PHP

// مسار ملف ACCESS
$accdatabase="C:\Path\To\database.accdb";

// بيانات اتصال قاعدة البيانات
$host="localhost";
$mydatabase="****";
$username="****";
$password="****";

try { 
  # عمل اتصال مع قاعدتي البيانات
  $accConn = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBq=$accdatabase;Uid=Admin;Pwd=;"); 

  $myConn = new PDO("mysql:host=$host;dbname=$mydatabase",$username,$password); 
  $myConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	
	// جلب بيانات الملف SELECT
  $sql = "SELECT * FROM Table ..."; 
  $accstmt = $accConn->query($sql);
  $accstmt->setFetchMode(PDO::FETCH_ASSOC); 

  // جلب الأسطر من الملف
  while($row = $accstmt->fetch()) { 
    // حشرالبيانات من ناتج استعلام SQL
    $mystmt = $myConn->prepare("INSERT INTO Table ... (col1, col2, col3, col4) VALUES (?, ?, ?, ?)");

    # تجهيز الحقول
    $mystmt->bindParam(1, $row['col1'], PDO::PARAM_STR, 50); 
    $mystmt->bindParam(2, $row['col2'], PDO::PARAM_STR, 50);    
    $mystmt->bindParam(3, $row['col3'], PDO::PARAM_STR, 50); 
    $mystmt->bindParam(4, $row['col4'], PDO::PARAM_STR, 50);

    # تنفيذ الاستعلام
    $mystmt->execute();
  }
} 
catch(PDOException $e) {         
    echo $e->getMessage()."\n"; 
    exit; 
}

// إغلاق قنوات الاتصال
$accConn = null;
$myConn = null;

تبقى عليك بعض التعديلات لكي يعمل الملف، ثم قو باستدعائه من خلال localhost مثلما تشغل أي ملف PHP.. 

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

  • 0
نشر
بتاريخ منذ ساعة مضت قال Wael Aljamal:

يتوفر ل PHP واجهة برمجية تدعى PDO تعمل على تحقيق التوافق بين الشيفرات البرمجية التي نكتبها ب SQL لتعمل مع مختلف محركات قواعد البيانات mySQL و SQL Server كما توفر عمل اتصال مع قواعد بيانات Access.

  • الشيفرة التالية تعمل على قراءة بيانات من ملف Access حيث نحتاج لتوفر مسار الملف وهو accdatabase
  • و اتصال مع قاعدة بيانات mySQL عن طريق معلوماتها، اسم القاعدة و بيانات المستخدم
  • قراءة البيانات من الملف مع تحديد الحقول المطلوبة ثم حشرها في قاعدة البيانات 

<?PHP

// مسار ملف ACCESS
$accdatabase="C:\Path\To\database.accdb";

// بيانات اتصال قاعدة البيانات
$host="localhost";
$mydatabase="****";
$username="****";
$password="****";

try { 
  # عمل اتصال مع قاعدتي البيانات
  $accConn = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)}; DBq=$accdatabase;Uid=Admin;Pwd=;"); 

  $myConn = new PDO("mysql:host=$host;dbname=$mydatabase",$username,$password); 
  $myConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	
	// جلب بيانات الملف SELECT
  $sql = "SELECT * FROM Table ..."; 
  $accstmt = $accConn->query($sql);
  $accstmt->setFetchMode(PDO::FETCH_ASSOC); 

  // جلب الأسطر من الملف
  while($row = $accstmt->fetch()) { 
    // حشرالبيانات من ناتج استعلام SQL
    $mystmt = $myConn->prepare("INSERT INTO Table ... (col1, col2, col3, col4) VALUES (?, ?, ?, ?)");

    # تجهيز الحقول
    $mystmt->bindParam(1, $row['col1'], PDO::PARAM_STR, 50); 
    $mystmt->bindParam(2, $row['col2'], PDO::PARAM_STR, 50);    
    $mystmt->bindParam(3, $row['col3'], PDO::PARAM_STR, 50); 
    $mystmt->bindParam(4, $row['col4'], PDO::PARAM_STR, 50);

    # تنفيذ الاستعلام
    $mystmt->execute();
  }
} 
catch(PDOException $e) {         
    echo $e->getMessage()."\n"; 
    exit; 
}

// إغلاق قنوات الاتصال
$accConn = null;
$myConn = null;

تبقى عليك بعض التعديلات لكي يعمل الملف، ثم قو باستدعائه من خلال localhost مثلما تشغل أي ملف PHP.. 

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

اهلا بك اخي الكريم

شاكر لك ردك الغالي

ما فيه طريقة اسهل من خلال موقع  لفعل ذلك؟

  • 0
نشر
بتاريخ الآن قال مروان مروان3:

اهلا بك اخي الكريم

شاكر لك ردك الغالي

ما فيه طريقة اسهل من خلال موقع  لفعل ذلك؟

أهلا بك،

كيف سيحول الموقع البيانات و يحشرها في قاعدة بياناتك؟

إذا كنت تريد تحويل ملف أكسس لقاعدة بيانات SQL أي ملف SQL ومن ثم تضمينه لاحقا استخدم أي موقع مثل access to sql online converter

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...