SP içinden veritabanı ismini öğrenmek
SP içinden veritabanı ismini öğrenmek
Merhaba,
O anda kullanılan veritabanı ismini SP içinden öğrenmek mümkün mü ? Böyle bir sistem değişkeni ya da UDF var mı ?
O anda kullanılan veritabanı ismini SP içinden öğrenmek mümkün mü ? Böyle bir sistem değişkeni ya da UDF var mı ?
Sevgi, Saygı.....
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
duştayken de TC kimlik numaran lazım oluyor mu? 

Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
Uygulama biliyor, SP de bilsin istiyor sanırım.coderlord yazdı:VT ismini zaten programınız biliyor. Bağlantı kurduğunuz dosya VT adınız. SP'ye bunu parametre olarak gönderebilirsin.
Bir sistem değişkeni olup olmadığına yine bakayım, ancak sanmıyorum.
ismi, diski, serveri ve pathi her zaman değişebilecek bir dosyayı ne diye
SP de ihtiyaç duyarlar anlamış değilim.
bu, patalojik bir tasarım ve kullanım.
veritabanı ismi ve pathi bir güvenlik unsurudur ve alias sistemi bunun için vardır. DB pathini hadi SP ye gönderdin parametreyle diyelim..
orada n'apacaksın bu bilgiyle???
ilişkisel veritabanı yönetim sistemi adı üstünde veritabanını kendi yöneten sistemdir, bir sistem dosyaları takip sistemi değildir.
paradoxtan ordan burdan kalma kötü alışkanlıklarınızdan arınmanız lazım.
ganjda mı yıkanırsınız, çölde teyemmüm mü yaparsınız bilmem ama, arınmak ve sapla samanı, amaçlarla araçları karıştırmaz hale gelmek şart.
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
Hoca damdan düşünce millet başına toplanmış neyin var diye... Hoca da bana damdan düşen birini getirin demiş halimden ancak o anlar....
Bence SP içinde veritabanı adına ihtiyaç duymak hiç de öyle abartıldığı gibi olmaması gereken yanlış tasarımların sonucu bir ihtiyaç değildir... Sadece herkesin başına gelmemiş olabilir o kadar....
Düşününki buyuk bir projeniz var ve bir kac veritabanınız var. Bunların da isimler ifarklı. Ve her ikisinde de var olan ortak bir SP niz var ama bulundugu veritabanına gore yaptığı ufak tefek farklı işler var. Böyle bir durumda benim tercihim tek bir SP yapıp bunu her veritabanına koymak olur. Her veritabanına ozel o SP yi ozellistirmenin bakımı çok zor. SP deki her değişiklikte her veritabanı verisoynununda oynama yapmanız gerekiyor. Ama DB ismine SP içinden ulaşarak yapacağımız kontrol ile kodları yazdık mı her turlu SP değişikliğinde yeni halini butun DB lerde hiç düşünmeden güncellersiniz olur biter....
Bence SP içinde veritabanı adına ihtiyaç duymak hiç de öyle abartıldığı gibi olmaması gereken yanlış tasarımların sonucu bir ihtiyaç değildir... Sadece herkesin başına gelmemiş olabilir o kadar....
Düşününki buyuk bir projeniz var ve bir kac veritabanınız var. Bunların da isimler ifarklı. Ve her ikisinde de var olan ortak bir SP niz var ama bulundugu veritabanına gore yaptığı ufak tefek farklı işler var. Böyle bir durumda benim tercihim tek bir SP yapıp bunu her veritabanına koymak olur. Her veritabanına ozel o SP yi ozellistirmenin bakımı çok zor. SP deki her değişiklikte her veritabanı verisoynununda oynama yapmanız gerekiyor. Ama DB ismine SP içinden ulaşarak yapacağımız kontrol ile kodları yazdık mı her turlu SP değişikliğinde yeni halini butun DB lerde hiç düşünmeden güncellersiniz olur biter....
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
Bir veritabanı yaratıyorsunuz, ve içine o veritabanını tanımlayacak bir bilgi yazmak yerine, dosya adını mı kullanmayı tercih ediyorsunuz?fahrettin yazdı:Hoca damdan düşünce millet başına toplanmış neyin var diye... Hoca da bana damdan düşen birini getirin demiş halimden ancak o anlar....
Bence SP içinde veritabanı adına ihtiyaç duymak hiç de öyle abartıldığı gibi olmaması gereken yanlış tasarımların sonucu bir ihtiyaç değildir... Sadece herkesin başına gelmemiş olabilir o kadar....
Düşününki buyuk bir projeniz var ve bir kac veritabanınız var. Bunların da isimler ifarklı. Ve her ikisinde de var olan ortak bir SP niz var ama bulundugu veritabanına gore yaptığı ufak tefek farklı işler var. Böyle bir durumda benim tercihim tek bir SP yapıp bunu her veritabanına koymak olur. Her veritabanına ozel o SP yi ozellistirmenin bakımı çok zor. SP deki her değişiklikte her veritabanı verisoynununda oynama yapmanız gerekiyor. Ama DB ismine SP içinden ulaşarak yapacağımız kontrol ile kodları yazdık mı her turlu SP değişikliğinde yeni halini butun DB lerde hiç düşünmeden güncellersiniz olur biter....
hadi deyelim mecbur kaldın, aklına iyi bir fikir gelmedi, çok DB dosyası kullanıyorsun ve ortak objeleri de tek elden yönetmek istiyorsun.
sen bi SP yi bütün DB lere güncellemek için zaten bir sürü özel işlem yapacaksın. CARI_200xx.FDB gibi ne kadar dosya varsa bulup aynı scripti hepsinde çalıştıracaksınız. birinde kazyla fizksel bir arıza oluşup SP bozulsa hangisi bozuk onu bile farkedip bulmak bi dert. demek ki bilgisayarcıların çoğu bu yüzden gece gündüz çalışıyor, işleri hiç bitmiyor
hatta ben helaya bile koşa koşa gidenleri gördüm..

sen bu işlemi sysbase de yapıyor musun?
yani farklı DB isimlerinde sistem açıp değişken isimli ve sayısı dinamik olan DBler yaratıyor musun?
bunu oracle ile yapan var mı? ya da MSSQL ile?
bir sistemde ne kadar DB dosyası açıksa ve kullanılıyorsa sistemin performansının da o sayıda bölüneceğini de biliyor olmalısınız, hadi işgücünüzü ve emeğinizi önemsemediğinizi varsayalım...
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
Reklamı izlediyseniz türklerin kalitesini de görürsünüz.aslangeri yazdı:tamam da @fahrettin abi de nasıl öğreneceğiz.
eğer duştayken akbanktan telefonla kredi almak istersek lazım olabilir.terminator yazdı:duştayken de TC kimlik numaran lazım oluyor mu?
![]()
![]()
![]()
amerkialı keşfeder, japon keşfeder geliştirir.
ya türk? türk napar?
anca borç istemesini bilir, hazır eski teknolojileri bile bu amaçla kullanır!
O reklam bütün türk halkının suratına atılmış koca bir tokat ama halkım
nersiyle düşünüyorsa artık uzun zamandır, pek bi şuursuz maşallah...
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
Hay agzina sağlık Fahrettin abi, benim derdimi benden güzel ifade etmissin... Simdi veritabanini ben degil musteri kullaniyo haliyle, böyle bir ihtiyaç ortaya çıkınca sorayım belki kolay bir yolu vardır dedim, nerdeyse dayak yiyecektim, ucuz kurtuldum sayendefahrettin yazdı: Düşününki buyuk bir projeniz var ve bir kac veritabanınız var. Bunların da isimler ifarklı. Ve her ikisinde de var olan ortak bir SP niz var ama bulundugu veritabanına gore yaptığı ufak tefek farklı işler var. Böyle bir durumda benim tercihim tek bir SP yapıp bunu her veritabanına koymak olur. Her veritabanına ozel o SP yi ozellistirmenin bakımı çok zor. SP deki her değişiklikte her veritabanı verisoynununda oynama yapmanız gerekiyor. Ama DB ismine SP içinden ulaşarak yapacağımız kontrol ile kodları yazdık mı her turlu SP değişikliğinde yeni halini butun DB lerde hiç düşünmeden güncellersiniz olur biter....

Madem bir yolu yok, parametreyle halledicez artık...
Katkıda bulunanlara teşekkürler, sevgiler, saygılar...
Sevgi, Saygı.....
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
Ben sana yardım ettim aslında, okuduklarını muhakeme etmedenSalih yazdı:Hay agzina sağlık Fahrettin abi, benim derdimi benden güzel ifade etmissin... Simdi veritabanini ben degil musteri kullaniyo haliyle, böyle bir ihtiyaç ortaya çıkınca sorayım belki kolay bir yolu vardır dedim, nerdeyse dayak yiyecektim, ucuz kurtuldum sayendefahrettin yazdı: Düşününki buyuk bir projeniz var ve bir kac veritabanınız var. Bunların da isimler ifarklı. Ve her ikisinde de var olan ortak bir SP niz var ama bulundugu veritabanına gore yaptığı ufak tefek farklı işler var. Böyle bir durumda benim tercihim tek bir SP yapıp bunu her veritabanına koymak olur. Her veritabanına ozel o SP yi ozellistirmenin bakımı çok zor. SP deki her değişiklikte her veritabanı verisoynununda oynama yapmanız gerekiyor. Ama DB ismine SP içinden ulaşarak yapacağımız kontrol ile kodları yazdık mı her turlu SP değişikliğinde yeni halini butun DB lerde hiç düşünmeden güncellersiniz olur biter....![]()
Madem bir yolu yok, parametreyle halledicez artık...
Katkıda bulunanlara teşekkürler, sevgiler, saygılar...
okursan, sadece göz egzersizi yapmış olursun.
bütün SP lerini parametreyi kullanmak amaçlı güncelleyeceğine,
bütün DB lere bir tablo aç, adına KUNYE mi dicen ne diceksen
içine, istediğin YIL ve firma bilgilerini o dosyaya özel olacak şekilde koy.
her dosya yarattıgında da bunu bu şekilde ayarla.
SP veya trigger içinde de bu bilgiyi istediğin gibi select edip, istediğin
koşullara uyana göre işlem yaparsın. bu işlem trafik ve uygulama kodu karmaşası da yaratmaz. Ve dosyanın adıyla oynansa bile doğru çalışmaya devam eder!
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
Sayin Ali Bey,
bence çağdışı tasarımlarla çalıştığımız ve bu yüzden de yamalı bohça halindeki projeleri yamalamakla uğraştığımız veya bir çok kişinin bu durumda olduğu önyargınızı bırakarak değerlendirme yapmanız gerekiyor.... Yani SP icinden DB adını ogrenmek isteyen birine bunu Firebird de soyle yapaibilirsin veya yapamazsın demek ve eger tasarım probleminden supheleniyorsanız da bunu lisanı munasip ile sormanız çok daha uygun olurdu.
Nitekim ben boyle bir ihtiyacın son derece duzgun bir tasarımda da karşınıza çıkabileceğinin birebir canlı şahidi olduğum için fikirlerimi beyan etme ihtiyaci hissettim.
Bahsettiğiniz şeyleri yapmadığım kesin olmakla birlikte benim sybase de ne yaptigim cok da onemli degil. Dediğim gibi Sailh Bey in tasarımını bilmiyorum. Fakat nizami bir tasarımda bunun bir ihtiyaç olabileceğinden emin olduğum için bilgimi paylaşayım istedim...
Saygılarımla.....
bence çağdışı tasarımlarla çalıştığımız ve bu yüzden de yamalı bohça halindeki projeleri yamalamakla uğraştığımız veya bir çok kişinin bu durumda olduğu önyargınızı bırakarak değerlendirme yapmanız gerekiyor.... Yani SP icinden DB adını ogrenmek isteyen birine bunu Firebird de soyle yapaibilirsin veya yapamazsın demek ve eger tasarım probleminden supheleniyorsanız da bunu lisanı munasip ile sormanız çok daha uygun olurdu.
Nitekim ben boyle bir ihtiyacın son derece duzgun bir tasarımda da karşınıza çıkabileceğinin birebir canlı şahidi olduğum için fikirlerimi beyan etme ihtiyaci hissettim.
Bahsettiğiniz şeyleri yapmadığım kesin olmakla birlikte benim sybase de ne yaptigim cok da onemli degil. Dediğim gibi Sailh Bey in tasarımını bilmiyorum. Fakat nizami bir tasarımda bunun bir ihtiyaç olabileceğinden emin olduğum için bilgimi paylaşayım istedim...
Saygılarımla.....
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

Hocam senin üslubun mu sert, ben mi yanlış algılıyorum bilemiyorum, ama yardımların için cidden teşekkür ederim. Yardım ederken arada 1-2 fırça cümlesi de yazmak zorunda değilsindir sanırım. Belki de ben alıngan günlerimden birindeyim.
Parametre ile çağırmak tamam. Ama bu da aslında benim işimi tam olarak çözmüyor
Neden diyeceksin... Programdan çağırırken parametreyle çağırırım, o kolay. Ama bazı SPler programdan çağrılmıyor. Örneğin bir takım konuları denetlemek için IB Expert içinden SP_DENETLE diye bir SP çalıştırıyorum, o da başka bazı SPleri çağırıyor, işte tam orada veri tabanı isminden YIL ı çekip alsam güzel olacak... Olayı kısa yoldan çözebilmek için böyle bir istekte bulundum yani...
Saygılar, sevgiler, teşekkürler...
Parametre ile çağırmak tamam. Ama bu da aslında benim işimi tam olarak çözmüyor

Saygılar, sevgiler, teşekkürler...
Sevgi, Saygı.....
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
Salih,Salih yazdı:Hocam senin üslubun mu sert, ben mi yanlış algılıyorum bilemiyorum, ama yardımların için cidden teşekkür ederim. Yardım ederken arada 1-2 fırça cümlesi de yazmak zorunda değilsindir sanırım. Belki de ben alıngan günlerimden birindeyim.
Parametre ile çağırmak tamam. Ama bu da aslında benim işimi tam olarak çözmüyorNeden diyeceksin... Programdan çağırırken parametreyle çağırırım, o kolay. Ama bazı SPler programdan çağrılmıyor. Örneğin bir takım konuları denetlemek için IB Expert içinden SP_DENETLE diye bir SP çalıştırıyorum, o da başka bazı SPleri çağırıyor, işte tam orada veri tabanı isminden YIL ı çekip alsam güzel olacak... Olayı kısa yoldan çözebilmek için böyle bir istekte bulundum yani...
Saygılar, sevgiler, teşekkürler...
Sen bir veritabanına yıla kuruma vs göre
değişik isimlerle yaratabiliyorsan,
yani 2005 diyebiliyorsan, onun içine, o dosyanın kendi adını vs ne istersen onu da koyabilirsin değil mi? hem böylece adı bozulmuş ya da karıştırılmış bir dosyanın ne dosyası oldugu, hangi yıla ait oldugu da cebelleşmeden bulunur. yani bir DB nin içinde o DB ile ilgili bir künye olmalıdır.
versiyon bilgisi, firma bilgisi, aktif yıl, vs gibi faydalı bilgile konabilir.
ve istediğin triggerdan procedureden bunu alıp işlemlerini yönlendirebilirsin. hem böylece alias bile kullansan bir sorun yaşamazsın.
tarzım sert gibi gelebilir, değil. Böyle bir kullanım tarzını inanın Fb ün yazarı jim amca görse burada demediğini bırakmaz.
çoklu DB kullananlara önemli bir mesajım daha: two phase commit kullandığınızda ve sistemde sorunlar oluştuğunda limbo transactionlarınız kalabilir ve fix etmezseniz locklı kalır.
Neyse, bildiğiniz gibi kullanın, ama bir kaosa sürüklendiğinizde bunun için FB ü suçlamayın ya da kaosunuzdan kurtaracak isteklerde bulunmayın. FB cülere bunları yaptıramazsınız. hatta çok yardımsever olmalarına rağmen cevap veren bile olmaz.
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
ben de sana nasreddin hocanın bindiği dalı kestiğini söylüyorum.fahrettin yazdı:Sayin Ali Bey,
bence çağdışı tasarımlarla çalıştığımız ve bu yüzden de yamalı bohça halindeki projeleri yamalamakla uğraştığımız veya bir çok kişinin bu durumda olduğu önyargınızı bırakarak değerlendirme yapmanız gerekiyor.... Yani SP icinden DB adını ogrenmek isteyen birine bunu Firebird de soyle yapaibilirsin veya yapamazsın demek ve eger tasarım probleminden supheleniyorsanız da bunu lisanı munasip ile sormanız çok daha uygun olurdu.
Nitekim ben boyle bir ihtiyacın son derece duzgun bir tasarımda da karşınıza çıkabileceğinin birebir canlı şahidi olduğum için fikirlerimi beyan etme ihtiyaci hissettim.
Bahsettiğiniz şeyleri yapmadığım kesin olmakla birlikte benim sybase de ne yaptigim cok da onemli degil. Dediğim gibi Sailh Bey in tasarımını bilmiyorum. Fakat nizami bir tasarımda bunun bir ihtiyaç olabileceğinden emin olduğum için bilgimi paylaşayım istedim...
Saygılarımla.....
ağaçtan düşersin demek bir önyargıysa sence, kabul.
bindiğim dalı kessem bile düşmeyeceğim şekilde bir iskele sistemi geliştirilmesi lazım diye tutturursa, ne diycez kendisine?
Ben ihtiyaç duyulabilecek bir tasarım düşünemiyorum, birbirinin aynısı procedureleri çalıştırmak üzere ayrı ayrı yaratılıp optimizasyon sağlanmış bir sistemi aklım almıyor. ama FB hosting hizmeti veren bir firma herkese özel bir DB açabilir onu anlarım ama...
sysbase, oracle mssql kullanmıyor böyle şeyleri FB neden kullansın?
RDBMS sistemlerden FB ye geçen kullanıcılar hiç böyle bir kullanıma kalkışmıyorken, btrieve, paradox, isamdan gelenlerin buna kalkışmasını
anlayışla karşılayıp yanlış destek olmak doğru mu sence?
Firebird Foundation Member #208
http://www.firebirdsql.org
http://www.firebirdsql.org