اضافة جميلة اخى mero5000
وستعم الفائدة على الكثير باذن الله
فكل التحية لك
وتمنياتى لك التوفيق
(01-09-18, 12:43 AM)princelovelorn كتب :وعليكم السلام ورحمة الله وبركاته
جزاك الله خيرا وبارك فيك أخي الكريم
لقد طبقت الشرح كاملا مثل ما تفضلت به
وقمت بتعديل واحد فقط وهو sqlexpress الى sqlnext لان هدا اسم السيرفر لديوهذا طبعا مؤقتا لحين التعديل عليه لاحقاوهذا هو الكود كاملاكود :
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If GETATTACHDATABASENAME() = False Then
ATTACHDATABASENAME("database99", Application.StartupPath & "\db\database99.MDF", Application.StartupPath & "\db\database99_log.LDF")
End If
End Sub
Public Shared Function GETATTACHDATABASENAME() As Boolean
On Error Resume Next
Dim DS As New DataSet
Dim SqlConnection1 As SqlClient.SqlConnection = New SqlClient.SqlConnection("Data Source=" + My.Computer.Name & "\SQLnext" + ";Initial Catalog=tempdb;Integrated Security=SSPI;")
Dim str As String = "Select DISTINCT name from master.dbo.sysdatabases where name Like 'database99' and has_dbaccess(Name) = 1 "
Dim ADP As SqlClient.SqlDataAdapter
ADP = New SqlClient.SqlDataAdapter(str, SqlConnection1)
DS.Clear()
ADP.Fill(DS)
Dim i As Integer
If DS.Tables(0).Rows.Count = 0 Then
GETATTACHDATABASENAME = False
MessageBox.Show(" قاعدة البيانات 'قاعدة بيانات البرنامج'" & "غير متصلة بالسرفر جارى عمل الاتصال", My.Computer.Name, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading)
Else
GETATTACHDATABASENAME = True
End If
ADP.Dispose()
SqlConnection1.Dispose()
End Function
Public Shared Sub ATTACHDATABASENAME(ByVal MYDBNAME As String, ByVal f1lepathprimary As String, ByVal f1lepathlog As String)
Try
Dim SqlConnection1 As SqlClient.SqlConnection = New SqlClient.SqlConnection("Data Source=" + My.Computer.Name & "\SQLnext" + ";Initial Catalog=tempdb;Integrated Security=SSPI;")
Dim CMD As SqlClient.SqlCommand = New SqlClient.SqlCommand
CMD.CommandType = CommandType.Text
CMD.Connection = SqlConnection1
If SqlConnection1.State = ConnectionState.Open Then SqlConnection1.Close()
SqlConnection1.Open()
CMD.CommandText = "sp_attach_db " & MYDBNAME & ",'" & f1lepathprimary & "'" & ",'" & f1lepathlog & "'"
' OR CMD.CommandText = "CREATE DATABASE " & MYDBNAME & " ON (FILENAME = '" & f1lepath & "')FOR ATTACH"
CMD.ExecuteNonQuery()
SqlConnection1.Dispose()
MessageBox.Show("تم انشاء اتصال قاعدة البيانات بالسرفر ", "ATTCH DATABASE", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading)
Catch ex As Exception
Dim result As Integer
result = MessageBox.Show("فشل البرنامج فى انشاء اتصال بقاعدة البيانات بالسرفر", "ATTCH DATABASE", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading)
MessageBox.Show(ex.Message)
End Try
End Sub
End Class
والنتيجة رسالة خطأ التالية عند محاولة التشغيل من درايف ال c
![]()
وهذة عندما حاولت التشغيل من خلال داريف أخر
ملاحظاتقاعدة البيانات فارغة ليس بها اي جدولتم إنشائها من نفس السيرفرنسخة ال sql لدي هي sqlserver2008 r2نسخة الفيجوال vb.net 2010نسخة الويندوز windows 10 64 bit
مرحباً اخى الفاضل princelovelorn
لحل المشكلة تعال على ملفات قاعدة البيانات وطبق مثل الفيديو التالى
لكن لا تقوم بكتابة اسم المستخدم كما هو ذكر فى الفيديو
الاسم الصح لذلك هو EVERYONE وعند الكتابة يمكنك فقط كتابة eve والضغط على Check Name
يمكنك فعل ذلك على الملفات لديك بجهازك قبل وضعها فى السورس البرنامج
حتى اذا تغيير من جهاز لاخر سيكون مطبع على جميع اسماء المستخدمين
تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى
لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]
ساهم دائماً فى
لكل من يقوم بالمساهمةفى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله
▼ شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية

