منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : نسخ بيانات الجدول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته
الاخوة الاعزاء هل يمكن نسخ بيانات جدول فى قاعدة بيانات مصممة بالاكسيس الى نظيره فى قاعدة مصممة بالسيكيول سيرفر ؟
وكيف تكون الطريقة لو امكن ذلك .....مع خالص الشكر
اعمل استعلام SELECT من جدول قاعدة بيانات أكسس على أن تكون النتيجة في DataTable
ثم قم بالمرور على Rows الخاصة ب DataTable واضافتها ب INSERT في جدول قاعدة بيانات سيكويل سيرفر

وهذا مثال للطريقة
PHP كود :
Dim accCon As New OleDb.OleDbConnection("...")
Dim sqlCon As New SqlClient.SqlConnection("...")
Dim dt As New DataTable

Dim da 
As New OleDbDataAdapter("SELECT * FROM [table1]"accCon)
da.Fill(dt)

sqlCon.Open()
For 
Each r As DataRow In dt.Rows
    Using cmd 
As New SqlCommand("INSERT INTO [table1] (column1, column2, ...) VALUES (@c1, @c2,  ...)"sqlCon)
        
cmd.Parameters.AddWithValue("@c1"r(0))
        
cmd.Parameters.AddWithValue("@c2"r(1))
        
cmd.Parameters.AddWithValue(...

        
cmd.ExecuteNonQuery()

    
End Using
Next
sqlCon
.Close() 
(06-05-17, 10:09 PM)mansoor كتب : [ -> ]اعمل استعلام SELECT من جدول قاعدة بيانات أكسس على أن تكون النتيجة في DataTable
ثم قم بالمرور على Rows الخاصة ب DataTable واضافتها ب INSERT في جدول قاعدة بيانات سيكويل سيرفر

وهذا مثال للطريقة
PHP كود :
Dim accCon As New OleDb.OleDbConnection("...")
Dim sqlCon As New SqlClient.SqlConnection("...")
Dim dt As New DataTable

Dim da 
As New OleDbDataAdapter("SELECT * FROM [table1]"accCon)
da.Fill(dt)

sqlCon.Open()
For 
Each r As DataRow In dt.Rows
    Using cmd 
As New SqlCommand("INSERT INTO [table1] (column1, column2, ...) VALUES (@c1, @c2,  ...)"sqlCon)
 
       cmd.Parameters.AddWithValue("@c1"r(0))
 
       cmd.Parameters.AddWithValue("@c2"r(1))
 
       cmd.Parameters.AddWithValue(...

 
       cmd.ExecuteNonQuery()

 
   End Using
Next
sqlCon
.Close() 
الاستعلام ده اعمله فين بالظبط يا اخ منصور وانا شاكر على تجاوبك بسرعة كما عهدتك
في زر مثلا ولكن لا تنفذه أكثر من مرة والا سيكرر البيانات في جدول سيكويل سيرفر

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

المسألة ليست بسيطة

هناك طريقة ترحيل البيانات من ملف الاكسس الى سيكويل سيرفر قد تكون افضل من استخدام البرمجة
ولكن هذه تتم من داخل SqlServer Manegment
Start the SQL Server Import and Export Wizard


ايضا توجد هذه الطريقة ايضا، وجدتها بعد البحث، ولكن لم اعمل بها سابقا
Import data from Microsoft Access to SQL Server
(06-05-17, 11:18 PM)mansoor كتب : [ -> ]في زر مثلا ولكن لا تنفذه أكثر من مرة والا سيكرر البيانات في جدول سيكويل سيرفر

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

المسألة ليست بسيطة

هناك طريقة ترحيل البيانات من ملف الاكسس الى سيكويل سيرفر قد تكون افضل من استخدام البرمجة
ولكن هذه تتم من داخل SqlServer Manegment
Start the SQL Server Import and Export Wizard


ايضا توجد هذه الطريقة ايضا، وجدتها بعد البحث، ولكن لم اعمل بها سابقا
Import data from Microsoft Access to SQL Server

ساجرب واوافيك بالنتيجة ان شاء الله

الاخ منصور انا شاكر جدا لك....جربت الطريقة الاولى ونجحت 100% والحمد لله.....الف شكر لك يا استاذ