SQL Server da Database Oluşturma

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
vipaydin
Üye
Mesajlar: 82
Kayıt: 23 Ara 2004 04:52

SQL Server da Database Oluşturma

Mesaj gönderen vipaydin »

Merhabalar,

Program içerisinde SQL Server'a bağlanarak yeni bir database oluşturmak istiyorum. Form üzerinden AdoConnection ile bağlanıp, AdoDataset veya AdoCommand'ın CommandText bölümüne ilgili kodları yazdığım zaman LOG ifadesinde Syntax Error hatası alıyorum. Bunu kodlara döktüğümde türlü türlü sorun çıkıyor. Acaba kod şeklinde yazılmasında yardımcı olabilir misin? Bir de acaba LOG ifadesinde neden Syntax Error hatası veriyor?

COMMANDTEXT bölümlerine yazdığım kodlar;

CREATE DATABASE XXX
ON
( NAME = XXX_dat,
FILENAME = 'c:\program files\microsoft sql server\mssql\data\xxx.mdf',
FILEGROWTH = 10% )
LOG ON
( NAME = 'xxx_log',
FILENAME = 'c:\program files\microsoft sql server\mssql\data\xxxlog.ldf',
FILEGROWTH = 10% )
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Zamanında bir örnek göndermiştim ben foruma:

viewtopic.php?t=877&highlight=
Kullanıcı avatarı
vipaydin
Üye
Mesajlar: 82
Kayıt: 23 Ara 2004 04:52

Mesaj gönderen vipaydin »

Hocam,

Anlıyorum sizi. O dökümanı iyice inceledim ama tam anlaşılmıyor. Ayrıca ben kod bölümlerini yazarken anlaşılır olmasını istiyorum. Yani tek bir satırda yapmak istemiyorum.
Mesela
AdoDataSet1.CommanText:='sorgu cümleciği1';
AdoDataSet1.CommanText:='sorgu cümleciği2';
AdoDataSet1.CommanText:='sorgu cümleciği2';
AdoDataSet1.CommanText:='sorgu cümleciği2';

şeklinde düşünüyorum. İleride bu bölümü açtığım zaman herşeyin net olarak anlaşılmasını sağlamalıyım.
Bu şekilde bir tanımlama yapabilir miyim?

Tabi bu konu da sizin de fikirlerinizi almak istiyorum.

Kolay gelsin.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Valla orada sizin yapmaya çalıştığınızdan daha fazlası var. Hem dbyi create etme sonra db içinde oluşturulacak bütün objeleri create etme ve bde alias oluşturma. Sadece dbnin create edildiği kısım ise şurası:
edt_path : dbnin oluşturulacağı dosya yolunun yazıalcağı edit
edt_db : oluşturulacak dbnin adının yazılacağı edit

Kod: Tümünü seç

   qry_devir.Close;   // database in create edilmesi.
   qry_devir.SQL.Text := 'CREATE DATABASE ['+edt_db.Text+']  ON (NAME = N'''+edt_db.Text+'_Data'', FILENAME = N'''+edt_path.Text+edt_db.Text+'_Data.mdf'' , SIZE = 10, FILEGROWTH = 1) LOG ON (NAME = N'''+edt_db.Text+'_Log'', FILENAME = N'''+edt_path.Text+edt_db.Text+'_log.ldf'' , SIZE = 1, FILEGROWTH = 1) COLLATE SQL_Latin1_General_CP1_CI_AS';
   qry_devir.ExecSQL;

   qry_devir.Close;
   qry_devir.SQL.Text := 'exec sp_dboption N'''+edt_db.Text+''', N''trunc. log on chkpt.'', N''true''';
   qry_devir.ExecSQL;
   qry_devir.Close;
   qry_devir.SQL.Text := 'exec sp_dboption N'''+edt_db.Text+''', N''auto create statistics'', N''true''';
   qry_devir.ExecSQL;
   qry_devir.Close;
   qry_devir.SQL.Text := 'exec sp_dboption N'''+edt_db.Text+''', N''auto update statistics'', N''true''';
   qry_devir.ExecSQL;
   qry_devir.Close;
   qry_devir.SQL.Text := 'exec sp_dboption N'''+edt_db.Text+''', N''torn page detection'', N''false''';
   qry_devir.ExecSQL;
Cevapla