منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
نسخ جدول من قاعدة الي اخري - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : نسخ جدول من قاعدة الي اخري (/showthread.php?tid=14855)



نسخ جدول من قاعدة الي اخري - atefkhalf2004 - 22-02-16

Dim connect As String = "Provider=Microsoft.Jet.OLEDB.4.0 ;Jet OLEDBBig Grinatabase Password='123321';Data Source=" & Application.StartupPath & "\dbkarneh.mdb"

        Using conn As New OleDbConnection(connect)
            Using cmd As New OleDbCommand()
                cmd.Connection = conn
                cmd.CommandText = "SELECT * INTO [MS Access;Database Password='123321';Data Source=" & Application.StartupPath & "\dbkarneh1.mdb].[student] FROM [student]"
                conn.Open()
                cmd.ExecuteNonQuery()
            End Using
        End Using
        MsgBox("تم التسويه  بنجاح", MsgBoxStyle.Information + MsgBoxStyle.MsgBoxRight, "  ")


يعطي خطأ
Invalid argument.


RE: نسخ جدول من قاعدة الي اخري - boudyonline - 22-02-16

هل الملف الثاني موجود بالفعل أم سيتم انشاؤه ؟

وإن كان موجود بالفعل هل يحتوي على بيانات ؟


RE: نسخ جدول من قاعدة الي اخري - atefkhalf2004 - 22-02-16

القاعدة االاخري موجودة ومغرفة في جملة الاتصال
شكرا


RE: نسخ جدول من قاعدة الي اخري - boudyonline - 23-02-16

جرب هذا الكود


PHP كود :
Public Shared Sub TransportTable(ByVal sourceDbPath As StringByVal targetDbPath As StringByVal lstTables As List(Of String))
 
       Dim constr As String = ((Convert.ToString("Provider=Microsoft.JET.OLEDB.4.0;data source=") & targetDbPath) + ";Persist Security Info=False;")
 
       Dim conn = New OleDbConnection(constr)
 
       Dim yescommander = New OleDbCommand()
 
       conn.Open()
    
lstTables.ForEach(Sub(tableName As [String]) 
 
       yescommander.CommandType CommandType.Text
        yescommander
.Connection conn
        yescommander
.CommandText = (Convert.ToString("SELECT f.* INTO " tableName " FROM " tableName " AS f IN '") & sourceDbPath) + "';"
 
       Dim result As Integer yescommander.ExecuteNonQuery()

End Sub)
    
conn.Close()
End Sub 



RE: نسخ جدول من قاعدة الي اخري - atefkhalf2004 - 23-02-16

السيد الفاضل

معلهش
اظهر خطأ املائي
كثير
في
lstTables.ForEach(Sub(tableName As [String])


RE: نسخ جدول من قاعدة الي اخري - boudyonline - 24-02-16

بالطبع أخي الفاضل هناك الكثير من الأكواد تحتاج إلى التصحيح تبعا لأسماء الكائنات لديك

مثل : lstTables والتي تشير الى اسم قاعدة البيانات الأولى
tableName اسم الجدول لديك
targetDbPath مسار قاعدة البيانات


فغير ما يلزم


RE: نسخ جدول من قاعدة الي اخري - atefkhalf2004 - 24-02-16

معلهش يا استاذ
انا غعلا معرفتش
وحاولت التنسيق والتعديل لكن لم انج
برجاء تعديل الكود حسب القواعد والمسميات الواردة في مثالي

Dim constr As String = ((Convert.ToString("Provider=Microsoft.JET.OLEDB.4.0;data source=") & Application.StartupPath & "\dbkarneh.mdb") + ";Persist Security Info=False;")
Dim conn = New OleDbConnection(constr)
Dim yescommander = New OleDbCommand()
conn.Open()

dbkarneh.ForEach(Sub(tableName As [String])

yescommander.CommandType = CommandType.Text
yescommander.Connection = conn
yescommander.CommandText = (Convert.ToString("SELECT f.* INTO " & student & " FROM " + student + " AS f IN '") & Application.StartupPath) + "';"
Dim result As Integer = yescommander.ExecuteNonQuery()

توجد اخطاء اتمني ان تتحملننا وتحل لكن المشكلة


RE: نسخ جدول من قاعدة الي اخري - boudyonline - 24-02-16

أخي الفاضل :

بارك الله فيك ... وأنا لم أرتقي لهذه الدرجة لأكون أستاذ ولكني مثلك تلميذ في هذه المدرسة العظيمة

وكل ما أرجوه أن نستفيد من بعضنا البعض ... ولنحمد الله على ما نتعلمه ونتبادله مع اخواننا ... فإن الله في عون العبد مادام العبد في عون أخيه


الحمد لله أعددت لك مثالا بالمرفقات لنسخ جدول كامل ببياناته من قاعدة بيانات إلى قاعدة بيانات أخرى

أتمنى أن يكون هذا مرادك وأسأل الله التوفيق لكم ولي


RE: نسخ جدول من قاعدة الي اخري - atefkhalf2004 - 27-02-16

فعلا هو المراد
شكرا علي تعبك
مرة اخري
يا استاذ
رضيت ام ترضي