هركي مي تونه كمك كنه بسم الله
Printable View
هركي مي تونه كمك كنه بسم الله
1- حذف و ساخت ديتابيس مورد نظر
var
DBName, AddressDB: string;
begin
DBName := Trim(Edit2.Text);
AddressDB := 'C:\';
LBReports.BiDiMode := bdLeftToRight;
LBReports.Clear;
LBReports.Items.Add('-- حذف ديتابيس در صورت وجود --');
LBReports.Items.Add('IF EXISTS (SELECT NAME FROM Master.dbo.SysDatabases WHERE NAME = N'+QuotedStr(DBName)+')');
LBReports.Items.Add(' DROP DATABASE ['+DBName+']');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('-- ايجاد ديتابيس --');
LBReports.Items.Add('CREATE DATABASE ['+DBName+'] ON (NAME = N'+QuotedStr(DBName+'_Data')+', FILENAME = N'+QuotedStr(AddressDB+DBName+'_Data.MDF')+' , SIZE = 1, FILEGROWTH = 10%) LOG ON (NAME = N'+QuotedStr(DBName+'_Log')+', FILENAME = N'+QuotedStr(AddressDB+DBName+'_Log.LDF')+' , SIZE = 1, FILEGROWTH = 10%)');
LBReports.Items.Add(' COLLATE Arabic_CI_AI_KS_WS');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''autoclose'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''bulkcopy'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''trunc. log'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''torn page detection'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''read only'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''dbo use'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''single'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''autoshrink'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''ANSI null default'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''recursive triggers'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''ANSI nulls'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''concat null yields null'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''cursor close on commit'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''default to local cursor'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''quoted identifier'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''ANSI warnings'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''auto create statistics'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''auto update statistics'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('if( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) )');
LBReports.Items.Add(' exec sp_dboption N'+QuotedStr(DBName)+', N''db chaining'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.SaveToFile(ExtractFilePath(Applica tion.ExeName)+'1.SQL');
يك كاراييش رو انجام دادم
https://barnamenevis.org/attachment.p...chmentid=90830
اين فايل رو دانلود كنين و تست كنين ونظر بدين براي بهبودش
تكميل بشه احتمال زياد سورسش رو براي استفاده عموم مي ذارم
تا قسمت ايجاد فانكش ها رو درست كردم
ممنون مي شم نظر بدين :خجالت:
دانلود فايل ساخت Generate SQL Script
https://barnamenevis.org/attachment.p...chmentid=90977
به نظر من این مورد پروژه خیلی خوبی هست و بهتره تا کارهایی صورت بگیره که بتونه اسکریپت ساخت پایگاه داده ها رو برای سایر DBMS ها تولید کنه. در dbExpress به راحتی می شه این کارها رو با استفاده از MetaData انجام داد. :چشمک:
ممنوننقل قول:
به نظر من این مورد پروژه خیلی خوبی هست و بهتره تا کارهایی صورت بگیره که بتونه اسکریپت ساخت پایگاه داده ها رو برای سایر DBMS ها تولید کنه. در dbExpress به راحتی می شه این کارها رو با استفاده از MetaData انجام داد
انشالله براي (tsql (SQL SERVER 2000 كه تموم شد با كمك جنابعالي سعي ام رو ميكنم
البته در صورت تمايل شما
انشاالله... :لبخندساده: