PDA

View Full Version : سوال: ایجاد فایل SQL در مورد اطلاعات بانک



BestLover
جمعه 27 اردیبهشت 1387, 12:13 عصر
سلام.

من به تازگی با SQL SERVER 2005 شروع به کار کردم. و می خوام که توسط اون یک فایلی برای بانک خودم درست کنم که در این فایل اطلاعاتی در مورد شمای بانک و همچنین اطلاعات جدول ها وجود داشته باشه.
یعنی این فایل شامل دستورات Create Database و Create Table و Insert و بعضی دیگه از دستورات Sql باشه.

اگه امکان داره روش درست کردن این فایل رو به من بگید.

SYNDROME
جمعه 27 اردیبهشت 1387, 14:44 عصر
سلام.

من به تازگی با SQL SERVER 2005 شروع به کار کردم. و می خوام که توسط اون یک فایلی برای بانک خودم درست کنم که در این فایل اطلاعاتی در مورد شمای بانک و همچنین اطلاعات جدول ها وجود داشته باشه.
یعنی این فایل شامل دستورات Create Database و Create Table و Insert و بعضی دیگه از دستورات Sql باشه.

اگه امکان داره روش درست کردن این فایل رو به من بگید.
اگر منظورتان نحوه نوشتن دستورات فوق است که با SQL 2000 فرقی ندارد ولی اگر می خواهید از روی جداولتان یک فایل بسازید تا هر جا اجرا کردید بانکتان درست شود می توانید بر روی جدولتان راست کلیک کنید و بر روی گزینه Script Table as کلیک کرده و از گزینه create استفاده کنید.
موفق باشید

BestLover
یک شنبه 29 اردیبهشت 1387, 00:27 صبح
سلام
خیلی ممنون از جوابتون. اما اینکه شما گفتید، چیزی نبود که من می خواستم. من فایلی رو برای شما اینجا می ذارم. اینو ببینید و بعدش اگه امکان داره به من بگید که چطوری می تونم مثل این فایل رو در sql server 2005 ایجاد کنم

_alish_
یک شنبه 29 اردیبهشت 1387, 11:42 صبح
با سلام و عرض ادب
اين Script شما از طريف نرمافزار كمكي red Gate ساخته شده ، در سايت مربوطه نگاهي بندازيد.
ورود داده از طريق Script را من مستقيما از طريق خود SQLServer نديدم دوست عزيز مگر اينكه خودتان كدي بنويسيد جهت جايگزاري

BestLover
دوشنبه 30 اردیبهشت 1387, 00:13 صبح
سلام

خیلی ممنون. یعنی خود sql server 2005 توانایی تولید چنین فایلی رو نداره ؟

BestLover
چهارشنبه 01 خرداد 1387, 23:24 عصر
باز هم سلام

یعنی این سوال اینهمه سخته ؟؟؟؟؟؟

BestLover
شنبه 04 خرداد 1387, 23:22 عصر
SOS SOS SOS نبود؟؟؟

AminSobati
سه شنبه 07 خرداد 1387, 20:04 عصر
شما از طریق کد TSQL نمیتونین Script تولید کنین. این قابلیت توسط آبجکتهای SMO در اختیار شما قرار میگیره:
Microsoft.SqlServer.Management.Smo

Neda_Bagheri
دوشنبه 27 خرداد 1387, 11:00 صبح
من خیلی دنبال این بودم که بتونم از تک تک جدول ها Script بسازم. البته با T_SQL و بالاخره تونستم اینکارو بکنم. کدشو گذاشتم که شما هم بتونین استفاده کنین.
در Add refrence این Dll ها رو اضافه کنید. این هم مسیر Dll:

D:\Program Files\Microsoft SQL Server\90\SDK\Assemblies




Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
Imports System.Collections.Specialized
Imports Microsoft.SqlServer

Public Function Script() As Specialized.StringCollection
Try
Dim ServerConn As Management.Common.ServerConnection
Dim srv As New Management.Smo.Server
ServerConn = New Management.Common.ServerConnection
ServerConn.LoginSecure = False
ServerConn.ServerInstance = "SERVER2003"
ServerConn.Login = "sa"
ServerConn.Password = "1q2w3e4r"
ServerConn.SqlExecutionModes = Management.Common.SqlExecutionModes.ExecuteAndCapt ureSql
ServerConn.ConnectTimeout = 300
ServerConn.Connect()
srv = New Management.Smo.Server(ServerConn)
'Reference the AdventureWorks database.
Dim db As Database
db = srv.Databases("testavand")
'Define a Scripter object and set the required scripting options.
Dim scrp As Scripter
scrp = New Scripter(srv)
scrp.Options.ScriptDrops = False
scrp.Options.WithDependencies = True
'Iterate through the tables in database and script each one. Display the script.
'Note that the StringCollection type needs the System.Collections.Specialized namespace to be included.
Dim tb As Table
Dim smoObjects(1) As Urn
MsgBox(db.ToString)
For Each tb In db.Tables
smoObjects = New Urn(0) {}
smoObjects(0) = tb.Urn
If tb.IsSystemObject = False Then
Dim sc As StringCollection
sc = scrp.Script(smoObjects)
Dim st As String
For Each st In sc
Console.WriteLine(st)
MsgBox(st)
Next
End If
Next
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Function

AminSobati
دوشنبه 27 خرداد 1387, 21:41 عصر
[RIGHT]
Public Function Script() As Specialized.StringCollection
Try
Dim ServerConn As Management.Common.ServerConnection
Dim srv As New Management.Smo.Server
ServerConn = New Management.Common.ServerConnection
ServerConn.LoginSecure = False
ServerConn.ServerInstance = "SERVER2003"
ServerConn.Login = "sa"....
]


منظورتون از TSQL کد بالاست؟!

Neda_Bagheri
سه شنبه 28 خرداد 1387, 08:19 صبح
نه منظورم از T_Sql همان دستور Sql مثلا (Create table ...). من همیشه وقتی می خواستم Script بگیرم به صورت ویژوالی این کارو می کردم ولی با Microsoft.SqlServer.Management.Smo می توان همان دستوراتی که هنگام Script تولید می شد، تولید کرد.