اجرای اسکریپت های sql در سی شارپ(ایجاد، بروزرسانی و حذف دیتابیس، جدول ها و ...)
سلام به همه
دوستان من از جدول خودم با استفاده از sql managemant اسکریپت تهیه کردم
حالا می خوام این اسکریپت را در محیط دات نت 2008 اجرا کنم چطوری باید این کار را انجام بدم
یا مثلا از بانک اطلاعاتیم و کلیه جداولش اسکریپت تهییه کردم باشم
لطفا راهنماییم کنید
نقل قول: اجرای اسکریپت های sql در سی شارپ
انگار کم جستجو کردین
خدمت شما
لیـــــــنک
نقل قول: اجرای اسکریپت های sql در سی شارپ
من که نتیجه ای نگرفتم . دوست عزیز یک نمونه کد اگرداری واسم بزار . ممنون می شم
نقل قول: اجرای اسکریپت های sql در سی شارپ
سلام.
در محیط ویژوال استودیو رفرنس های زیر رو اضافه کنید :
برای اضافه کردن یک Reference بر روی پوشه Reference پروژتون کلیک راست کنید و از گزینه Add Reference استفاده کنید اگر در پنجره Add Reference بصورت پیش فرض ظاهر نشدن از قسمت جستجوی پنجره، چند کلمه از رفرنس ها رو تایپ کنید تا نمایش داده بشن و بعد اقدام به انتخاب اونها کنید :
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo
Microsoft.SqlServer.Management.Sdk.Sfc
حالا در بالای فرمتون، فضای نام های زیر رو اضافه کنید :
using System.IO;
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
در کد زیر فرض بر این هست که فایل script درون همان درایوی هست که برنامه شما(فایل exe از اونجا اجرا میشه (مهم نیست فایل script کنار فایل exe باشه یا نه، مهم اینه فایل exe و فایل script درون یک درایو باشن). این حالتی که میگم فایل اسکریپ و فایل exe درون یک درایو باشه برای حالتی هست که setup درست میکنید و میدید دست مشتری وگرنه برای تست کردن مجبور نیستید اینطوری باشه و فقط کافیه آدرس فایل اسکریپت رو در کد زیر جایگزین کنید.
SqlConnection con = new SqlConnection("server = .\\sqlexpress;database = master;integrated security = true");
FileInfo file = new FileInfo(string.Format("{0}:\\script.sql",System.I O.Directory.GetCurrentDirectory().Substring(0,1))) ;
string script = file.OpenText().ReadToEnd();
file.OpenText().Close();
Server myserver = new Server(new ServerConnection(con));
myserver.ConnectionContext.ExecuteNonQuery(script) ;
MessageBox.Show("اسکریپت با موفقیت اجرا شد");
نکته مهم : اگر با خطای Mixed Mode assembly is built aginst … مواجه شدید، درون فایل app.config برید و تگ شروع statrtup رو بصورت زیر تغییر بدید :
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
نقل قول: اجرای اسکریپت های sql در سی شارپ
نمونه کد من به درد کار شما نمی خوره عزیز (و البته پروژه ی این موردی ندارم)
شما باید روش کار رو درست پیش ببرید که از طریق همون لینک توضیح داده شده
ایجاد جدول تو دیتابیس با کدنویسی
سلام
من یک مبتدی هستم:لبخند::لبخند::لبخند::لب ند:
میخام با زدن یک کلیک رو باتن اگه جدول مورد نظر نباشه انو ایجاد کنه
و همچنین اگه در صورت وجود جدول ببینه فیلد های مورد نظر هست یا نه در یر اینصورن فیلد جدید را اضافه کنه.
نقل قول: ایجاد جدول تو دیتابیس با کدنویسی
string query = "IF OBJECT_ID('dbo.Kharid', 'U') IS NULL ";
query += "BEGIN ";
query += "CREATE TABLE [dbo].[Kharid](";
query += "[tbl_Id] bigint IDENTITY(1,1) NOT NULL CONSTRAINT pkId PRIMARY KEY,";
foreach (var s in generate().Take(Convert.ToInt32(MySchemaTableColum ns.Columns.Count))) query += "[" + s.ToString() + "] nvarchar(100) NOT NULL,";
query += ")";
query += " END";
این کد اگه جدول نباشه ایجاد میکنه درضمن( ستون ها رو هم میتونی اینطوری بسازی با foreach ).
نقل قول: ایجاد جدول تو دیتابیس با کدنویسی
نقل قول: ایجاد جدول تو دیتابیس با کدنویسی
اقای xman ممنون از جوابتون اگر همچین چیزی ممکن باشه که خیلی عالی میشه.
در ضمن یک روش دیگه وجود داره sqlcmd
نقل قول: ایجاد جدول تو دیتابیس با کدنویسی
من این کدو 100 نه 200 بار دیدم و بلدم ولی نحوه استفاده رو بلد نیستم با کدنویسی.مثلاlinq
CREATE TABLE dbo.PurchaseOrderDetail
(
PurchaseOrderID int NOT NULL
,LineNumber smallint NOT NULL
,ProductID int NULL
,UnitPrice money NULL
,OrderQty smallint NULL
,ReceivedQty float NULL
,RejectedQty float NULL
,DueDate datetime NULL
);
ساخت تیبل .در داخل اس کیو ال منجمنت میدونم کوری مینویسی با اجرا خودش جدول رو درست میکنه.
خب وقتی اس کیو ال رو باز کردی ویزاردی جدول رو میسازیم دیگه دلیلی نداره که از کوری استفاده کنیم.
اونی که لازمه با کد نویسی هستش که کسی تا حلا بهشجواب نداده
ساخت دیتابیس در داخل درایو خاص با دستورات sqlcmd
با عرض سلام:
یک سری کد با برای ساخت جدول و دیتابیس در لینک زیر پیدا کردم لطفا " یک نگاه بیندازید.
http://www.w3-farsi.com/%D8%A7%DB%8C...7%D8%AF%D9%87/
حالا در قسمت ساخت دیتابیس:1> CREATE DATABASE D:\Test2> GO
چگونه دیتا بیس رو در درایو \:D بسازم؟
نقل قول: ساخت دیتابیس در داخل درایو خاص با دستورات sqlcmd
سلام با script دستابیس البته داخل script مسیر ساخت فایل ها رو در مسیر دلخواه ست کن
و با استفاده از sqlcmd -S myServer\instanceName -i C:\myScript.sql
از لینک های مرجع دستورات هم استفاده کنhttp://www.sqlserver.info/tools/how-...ommand-prompt/
https://msdn.microsoft.com/en-us/library/ms162773.aspx
https://msdn.microsoft.com/en-us/library/ms170572.aspx
نقل قول: اجرای اسکریپت های sql در سی شارپ(ایجاد، بروزرسانی و حذف دیتابیس، جدول ها و ...)
کافیه اسکریپت مورد نیاز رو توسط یک SqlCommand و توسط متد ExecuteNonQuery اجرا کنید(فرقی با اجرای کوئری درج، حذف و ... نداره)