PDA

View Full Version : مبتدی: ايجاد ديتابيس وانتقال محتويات به ديتا جديد



s_mokhtari
شنبه 16 مرداد 1389, 11:41 صبح
با سلام
دوستان من ميخوام يه ديتابيس جديد درست كنم و اطلاعات سه تا از جدولا رو به ديتا جديد منتقل كنم بقيه جدولام خام باشه
دستورش چيه
باتشكر:گیج::گیج:

ahmad_eagle2002
شنبه 16 مرداد 1389, 12:35 عصر
از نرم افزار هاي جانبي مثل red gate SQL compare , red gate SQL data compre استفاده كن به راحتي ودر مدت چند ثانيه كارت رو انجام ميده
از خود SQL SERVERهم ميتوني استفاده كني
روي ديتابيس راست كليك كن و task و Generate Script را انتخاب كن
يك فايل script بهتون ميده كه مشكلتون را حل ميكنه

محمد سلیم آبادی
شنبه 16 مرداد 1389, 15:21 عصر
از خود SQL SERVERهم ميتوني استفاده كني
روي ديتابيس راست كليك كن و task و Generate Script را انتخاب كن
يك فايل script بهتون ميده كه مشكلتون را حل ميكنه
از آنجایی که ظاهرا کاربر می خواد داده ها را انتقال بده، برای اسکریپت گرفتن از داده ها تنها نسخه 2008 این ویژگی را بوجود آورده البته نرم افزار database publishing wizard این کار را بسادگی انجام میده (تا جایی که یادم هست این wizard بصورت رایگان در سایت ماکروسافت قابل دریافت هست).

s_mokhtari
شنبه 16 مرداد 1389, 16:35 عصر
از آنجایی که ظاهرا کاربر می خواد داده ها را انتقال بده، برای اسکریپت گرفتن از داده ها تنها نسخه 2008 این ویژگی را بوجود آورده البته نرم افزار database publishing wizard این کار را بسادگی انجام میده (تا جایی که یادم هست این wizard بصورت رایگان در سایت ماکروسافت قابل دریافت هست).
با سلام
از راهنماي شما ممنون پس با اين حساب نميشه كد نويسي كرد اونايي كه تو برنامشون سال مالي ايجاد ميكنن به نظر شما راهش اينه
ممنون:تشویق::تشویق:

s_mokhtari
شنبه 16 مرداد 1389, 16:50 عصر
از نرم افزار هاي جانبي مثل red gate SQL compare , red gate SQL data compre استفاده كن به راحتي ودر مدت چند ثانيه كارت رو انجام ميده
از خود SQL SERVERهم ميتوني استفاده كني
روي ديتابيس راست كليك كن و task و Generate Script را انتخاب كن
يك فايل script بهتون ميده كه مشكلتون را حل ميكنه
با سلام
دوست عزيز من اين تنظيمات رو انجام دادم ولي ميخوام يه ديتابيس با پسوند MDF و LDF دقيقا مثل اسكيوال ولي اين پسوندش SQL چطوري اتچ كنم
ممنون

ahmad_eagle2002
شنبه 16 مرداد 1389, 17:02 عصر
زماني كه اين script رو اجرا كني خودش مي سازه
البته اگر روي همان سرور اجرا ميكني نام ديتابيس و مسيرش رو توي script عوض كن

محمد سلیم آبادی
شنبه 16 مرداد 1389, 17:11 عصر
گویا هدف از انجام این کار پیاده سازی سال مالی هست. متاسفانه در این مورد تجربه ای ندارم ولی اگر بخوام این کار را انجام بدم داده های جدول را به ازای هر سال مالی در چند جدول تجزیه نمی کنم چرا که دلیلی بر انجام این کار نمی بینم.
در مورد سال مالی در سایت بحث شده یکیش اینجاست:
http://www.barnamenevis.org/forum/showthread.php?t=234981

algoritmha
شنبه 16 مرداد 1389, 17:27 عصر
در محیط SQL SERVER روی دیتابیس مبدا کلیک راست کن،از منوی TASKS گزینه EXPORT DATA... رو انتخاب کن و از طریق ویزارد ظاهر شده و پیگیری مراحل اون،جداول مورد نظر رو در جداول دیتابیس جدید کپی کن

مشاوره در تهیه و انجام پروژه های دانشجویی و دانشگاهی
http://www.algoritmha.com

ali_najari
یک شنبه 17 مرداد 1389, 15:52 عصر
اينها رو اول بالاي كلاس يا فرمت اضافه كنيد




Imports System.Data
Imports System.Data.SqlClient



سپس اينها رو توي كلاس يا توي كدهاي فرم اضافه كنيد




Private ObjCon As New SqlConnection
Private ObjCom As New SqlCommand
Public Sub doConnect(ByVal Servarname As String, ByVal DBName As String, ByVal USN As String, ByVal PWD As String)

Dim cs As String = "Data Source=" & Servarname & ";Initial Catalog=" & DBName & ";User ID=" & USN & ";Password=" & PWD
ObjCon.ConnectionString = cs
ObjCon.Open()
End Sub

Public Sub Disconnect()
ObjCon.Close()
End Sub

Public Sub doCommand(ByVal str As String)

doConnect(ServerN, "Master", User, Pass)
ObjCom.Connection = ObjCon
ObjCom.CommandText = str
ObjCom.ExecuteNonQuery()

Disconnect

End Sub




و اين هم طريقه استفاده كه بايد توي Button_click اضافه كنيد




Dim TXTSal as integer
Dim BackUpPath as string = "E:\Backup\EmptyData.bak"
Dim Path1 as string = Application.StartupPath & "\Database\"
TXTSal = 1389
doCommand("USE master; RESTORE Database [Sal" & TXTSal & "]" & _
" FROM Disk='" & BackupPath & " WITH RECOVERY," & _
"Move 'HesabData' TO '" & Path1 & "Sal" & TXTSal & ".mdf'," & _
"Move 'HesabData_Log' TO '" & Path1 & "Sal" & TXTSal & "_Log.ldf'")




اينم بگم كه هنگامي كه backup ميگيريد اون قسمتي كه نوشته Name، نام اون رو تعيين كنيد چون براي افتتاح سال مالي لازم است

مثلا من دادم HesabData هنگام Backup گرفتن