Sql Server sunucu ismi?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Sql Server sunucu ismi?

Mesaj gönderen AfterPost »

Sevgili emektar delphi dostları
kendi pc mizde sql tabanlı bir uyguluma geliştirdiğimiz zaman bu normal olarak bizim pc de çalışacaktır
fakat bu uygulamayı başka bir pc ye taşıdığımız zaman çalışmayacaktır
sql sunucu ismini nasıl değiştirebiliriz.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Sql Server sunucu ismi?

Mesaj gönderen sabanakman »

Örnek olması açısından aşağıdaki örnekler ip ucu verecektir kanaatindeyim.

Kod: Tümünü seç

function SQLConnSt(const DBName, DataSource:String;const DBUser:String='';const DBUsrPwd: String=''): String;
const
 NTMode='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=%s;Data Source=%s';
 SQLMode='Provider=SQLOLEDB.1;Password=%s;Persist Security Info=True;User ID=%s;Initial Catalog=%s;Data Source=%s';
begin
  if (DBUser<>'') then Result:=Format(SQLMode, [DBUsrPwd, DBUser, DBName, DataSource])
  else Result:=Format(NTMode,[DBName, DataSource]);
end;
Böyle bir fonksiyonu kullanarak aşağıdaki şekilde bağlantı dizesi gerektiği şekilde oluşarak bağlantı kurulabilecektir.

1-ADOConnection1.ConnectionString:=SQLConnSt('master','192.168.1.17\SQLEXPRESS'); //NT Mode
192.168.1.17 bilgisayarında SQLExpress instancename ile yüklü SQL Server'daki master veritabanına bağlantı dizesi oluşturur.

2-ADOConnection2.ConnectionString:=SQLConnSt('master','.\SQL2008'); //NT Mode
Mevcut bulunulan makinede bulunan SQL2008 inctancename'i ile yüklü SQL Server'ın master veritabanına bağlantı kurulur ve aşağıdakiler de aynı şekilde mevcut makinede ki sql2008 instancename'ine bağlanacaktır.
ADOConnection2.ConnectionString:=SQLConnSt('master','\SQL2008'); //NT Mode
ADOConnection2.ConnectionString:=SQLConnSt('master','(local)\SQL2008'); //NT Mode
ADOConnection2.ConnectionString:=SQLConnSt('master','localhost\SQL2008'); //NT Mode
ADOConnection2.ConnectionString:=SQLConnSt('master','192.168.1.17\SQL2008'); (192.168.1.17 o makine IP Adresi ise) //NT Mode
ADOConnection2.ConnectionString:=SQLConnSt('master','AKMAN\SQL2008'); (o makine adı AKMAN ise) //NT Mode
bu atamaların hepsi (AKMAN isimli 192.168.1.17 IP adresli makinede) aynı anlama gelmektedir.

3-Kullanıcı adı ve şifre ile bağlanmak için de
ADOConnection3.ConnectionString:=SQLConnSt('master','.\SQL2008','sa','12345'); //SQL Mode

şeklinde atamalar yapılabilmektedir. Burada dikkat etmek gereken bir diğer husus ise eğer bir SQL Adı (instancename'i) yoksa \ karakteri ve sağında yazan isim olmadan bağlantı yapmak gerekmektedir.
4-ADOConnection4.ConnectionString:=SQLConnSt('master','.'); //NT Mode
ADOConnection4.ConnectionString:=SQLConnSt('master',''); //NT Mode
ADOConnection4.ConnectionString:=SQLConnSt('master','(local)'); //NT Mode
ADOConnection4.ConnectionString:=SQLConnSt('master','localhost'); //NT Mode
ADOConnection4.ConnectionString:=SQLConnSt('master','192.168.1.17'); (192.168.1.17 o makine IP Adresi ise) //NT Mode
ADOConnection4.ConnectionString:=SQLConnSt('master','AKMAN'); (o makine adı AKMAN ise) //NT Mode

5-Başka makineye bağlantı için ise o makine adını veya ip adresini (\instancename ile birlikte) yazmak gerekmektedir.
ADOConnection5.ConnectionString:=SQLConnSt('master','192.168.1.17','sa','12345'); //SQL Mode
ADOConnection5.ConnectionString:=SQLConnSt('master','AKMAN'); //NT Mode

Daha fazla bilgi için ..: http://www.connectionstrings.com/sql-server/
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Re: Sql Server sunucu ismi?

Mesaj gönderen AfterPost »

öncelikle verdiğiniz bilgiden dolayı çok teşekkür ederim
ama söyle bir yol buldum kısa ve basit
şimdi uygulamayı taşığımız pc nin adı x diyelim
bizim ise uygulamayı geliştirdiğimiz pc de y
x olan makinenin pc adını y olarak değiştiriyoruz ve reset atıyoruz
sql den y\sqlexpress olarak başlanıyoruz ve veritabanını oluşturuyoruz uygulama çalışıyor
şimdi şu sorun ortaya çıkabilir uygulamayı taşıdığımız x makinesine ağdan bağlı bir uygulama varsa doğal olarak çalışmayacak çünkü adını değiştirdik
işte y yaptığımız makineyi tekrar x yapıp reset attığımıza herşey eski haline geliyor ve uygulama sorunsuz çalışıyor.
denenmiş bir uygulamadır
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: Sql Server sunucu ismi?

Mesaj gönderen sunye »

Bilgisayar adı yerine "localhost" yada ip olarak "127.0.0.1" kullan. Bazı programlar lisans kontrolü olarak bilgisayar adını da kontrol eder. (Örn. Netsis) Ayrıca Bilgisayar adını değiştirmen ağdaki diğer ayarları da etkileyebilir.
Bildiğim tek şey, hiç bir şey bilmediğim.
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Re: Sql Server sunucu ismi?

Mesaj gönderen AfterPost »

pc adını değiştiriyoruz ama sonra yine düzeltiyoruz . kaldı ki biz kendi yaptığımız uygulamadan söz ediyoruz ama sizin yöntem de denemeye değer uğgulayacağım
teş.
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Sql Server sunucu ismi?

Mesaj gönderen sabanakman »

2 numara ile belirtilen örneklerden en zor olan yöntemi kullanmışsınız :D
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
AfterPost
Üye
Mesajlar: 158
Kayıt: 12 Tem 2014 10:22

Re: Sql Server sunucu ismi?

Mesaj gönderen AfterPost »

sql in içindeki bir script dosyası ile de bu işi yapmak mümkünmüş.
select * from sys.servers
sp_addserver yeni sunucu'
sp_dropserver 'eski sunucu'
Kullanıcı avatarı
sunye
Üye
Mesajlar: 105
Kayıt: 24 Ağu 2004 04:49
Konum: izmir

Re: Sql Server sunucu ismi?

Mesaj gönderen sunye »

@sabanakman

Hocam sizin yazdığınızı görmeden cevap vermişim, kusura bakmayın :)
Bildiğim tek şey, hiç bir şey bilmediğim.
Cevapla