Şimdi Ara

## Visual Basic Ustalarına Basit Bir soru ##

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
20
Cevap
0
Favori
1.335
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Selam hemen konuya dalayım...

    Bir program yaptım. Program çalışıyor fakat !!! sadece kendi bilgisayarımda çalışıyor.
    Program veritabanına baglanıp ordaki bilgileri filan degiştirmeye yarıyor.
    Microsoft Adodc Kullandım... Bağlandıgı veritabanı ise SQL Server

    Sorum şu ki Ben bunu başka bir bilgisayarda Çalıştırdıgım zaman o bilgisayardaki SQL Server veritabanına
    bağlanması için ne yapmam lazım ???

    * ODBC Ayarlarını programa nasıl aktarabilirim... Bir kutuya girmelerini saglamak...
    * Veritabanının ismini programda nasıl kullanabilirim... Yine bir text kutusuna girmesini saglamak...
    * Varsa Veritabanının şifresini programda nasıl kullanabilirim... Yine text kutusuna girdirerek
    * Ve bu bilgileri aldıktan sonra Programın karşı pcde çalışma olasılıgı nedir ?

    işte programımın resmi

     ## Visual Basic Ustalarına Basit Bir soru ##







  • heralde zor geldi neyse ben kendim çözmek üzereyim deneme yanılmayla çözersem buraya da yazarım
  • quote:

    heralde zor geldi neyse ben kendim çözmek üzereyim deneme yanılmayla çözersem buraya da yazarım


    Uğraşmaya değer bulmadık desek
    Bu arada kusura bakma.Eleştiriye açıksan birşey söylemek istiyorum.Program arayüzü çok berbat.NET dillerinden birine geç.Yada manifest filan kullan.Hiç olmadı renkleri değiştir
  • quote:

    Orjinalden alıntı: PanDa

    quote:

    heralde zor geldi neyse ben kendim çözmek üzereyim deneme yanılmayla çözersem buraya da yazarım


    Uğraşmaya değer bulmadık desek
    Bu arada kusura bakma.Eleştiriye açıksan birşey söylemek istiyorum.Program arayüzü çok berbat.NET dillerinden birine geç.Yada manifest filan kullan.Hiç olmadı renkleri değiştir


    20 kişi bakıyor.... Cevap yok. Bu benim aklıma ilk olarak bakan kişilerinde bilmedigi sorusunu getiriyor...
    Eminim sende bilmiyorsun.

    Bu arada Tasarım programcının zevkidir... Resmi kendi çevremden 10 kişiye gösterdim 10 u da begendi...
    Zevkler ve Renkler Tartışılamaz... Benim amacım Programdan başkaları da faydalansın diye piyasaya sürmekti çünkü yaptıgım program binlerce kişinin işine yarayacak türden bir program... Yani sen anlamazsın belki ama oyunla ilgili birşey oyun bilgilerini degiştirme char editlemeyle ilgili...
    Çok Çok piyasaya yaymam ve sadece ben kendi renklerimle mutlu olarak sorunsuz kullanırım...

    Yinede cevap için tşklr...




  • Bazı programlar vardır, tasarımından çok, işlevine bakarsınız. Bazı programlar iyi tasarım gerektirmez.
  • Sen biraz bu sitedeki diğer başlıkları gezinsen neyden anlayıp neyden anlamadığımı o zaman tartışırız.Amacım tartışma yaratmak değildi ama sen söylediklerimi bir saldırı olarak algılayıp savunma makenizmanı çalıştırınca bende bu cevabı yazmak mecburiyetinden kaldım.
    10 yılı aşkın bir süredir C/C++/C# dilleri ile profosyonel uygulamalar geliştiren (arsızlık yapıp daha ne bildiğimi yazmıyorum) bir adama yani bana, dünya NET teknolojisini benimsemişken hala Visual Basic gibi PROGRAMCI DİLİ olmayan bir dilde birşeyler yapmaya çalışan bir insanın SEN BİRŞEY BİLMİYORSUN demesi pek yaralamadı beni açıkçası.

    quote:


    * ODBC Ayarlarını programa nasıl aktarabilirim... Bir kutuya girmelerini saglamak...
    * Veritabanının ismini programda nasıl kullanabilirim... Yine bir text kutusuna girmesini saglamak...
    * Varsa Veritabanının şifresini programda nasıl kullanabilirim... Yine text kutusuna girdirerek
    * Ve bu bilgileri aldıktan sonra Programın karşı pcde çalışma olasılıgı nedir ?


    Yukarıda yazdıklarına gelince.ODBC ayarlarını programa aktarmak için bir kutuya girmelerini sağlamak Visual Basic'in tam sana göre olduğunu gösteriyor.
    Sana nacizane tavsiyem.Büyük bir ihtimal SQL SERVER ile konuşuyorsun.Taşıdığın programı hedef makineden çalıştırmak için ODBC sürücülerini kullanmana gerek yok.Senin yerinde olsam dışarıdan da daha sonra müdahele edebilmek için (exe'ye müdahale olmadan) bir udl dosyası oluşturur bağlantı ayarlarını buraya kaydeder hedef makinelere de bu sadece SQL kurdurup programımlada bu udl dosyasını taşırdım.SQL kullanmıyorsan access filan kullanıyorsan da yine udl dosyanla mdb'ni taşırsın hepsi bu.Bu VB'de yapılacak en makul çözüm.NET dillerini kullansaydın XML bir AppConfig'de sakla bilgilerini derdim.Bilgileri kutulara girdirmekten iyidir.

    quote:


    Bazı programlar vardır, tasarımından çok, işlevine bakarsınız. Bazı programlar iyi tasarım gerektirmez.


    Çok sağol beni bilgilendirdiğin için.Ben bir müşteri olsam böyle bir programın arayüzünüde bakarım.Ama bana sadece bazı bilgileri alıp bir driver iskeleti kodları oluşturan bir program getirirseniz onu DOS'da bile kullanırım.
    Dediğim gibi amacım tartışma yaratmak değildi ama üslüplara dikkat edelim.Kimse kimin ne bildiğini bilemez.Kendinizi zor duruma sokarsınız.

    Programın arayüzünün kötü olmasındaki kastım şu;Bir kere en büyük yalnışın program başlığında ve altında Hacker ifadelerinin geçmesi.Ben böyle bir programı indirip makineme kurmam.(Böyle bir ortamda zararlı kod içermediğini kestiremem)Paket olarak dağıtmak istersen bu programı kimsenin alıp da bunu pazarlayacağını da sanmam.Amacım hevesini kırmak değil.Ama gerçekten sitenden filan birkaç dolar karşılığı bu programı indirtip satmak istiyorsan o butonların rengini kırmızı olmaktan ve bir GUI uygulamasını DOS'a benzetmek için backcolor'u siyah yapmaktan vazgeç.



    < Bu mesaj bu kişi tarafından değiştirildi PanDa -- 2 Eylül 2007; 8:59:44 >




  • yavaş ol panda, gerek yok böyle şeylere...

    benim anlamadığım sql'deki veritabanını sen yaratırken uygun isimle niye yaratmıyorsun? amaç bruteforce mu?
  • Benim anlamadıgım şey şu, programın amacı ne, niye binlerce kişinin işine yarıak bu program ?

    Veritabanından kayıt değiştirmek için sql kodu bilmekten başka bişey gerekmez.
  • quote:


    yavaş ol panda, gerek yok böyle şeylere...


    Dostum ben yavaşım zaten.Dediğin gibi böyle şeylere hiç gerek yok.Ben sadece "ZOR GELDİ HERALDE" lafına karşın saygılı bir cevap, program hakkında da öz eleştirimi belirttim.

    quote:


    Benim anlamadıgım şey şu, programın amacı ne, niye binlerce kişinin işine yarıak bu program ?

    Veritabanından kayıt değiştirmek için sql kodu bilmekten başka bişey gerekmez


  • programın ne yaptığını anlatırsan daha rahat yardımcı olabiliriz..
    sanırım ultimaonline daki injection 'a benzer bi program... ama database'e erişimle ne alakası var bunların onu çözemedim... biraz anlatırsan daha rahat yardımcı olabiliriz..
  • 1 gün girmedik foruma olaylar kabarmış
    Öncelikle Panda arkadaşıma Teşekkür ediyorum cevap yazdıgı için... Şimdi sorunumu şöyle açıklayayım...
    Benim savunma mekanizmam gayet iyidir... O konuda şüpheniz olmasın... Benim o cevabı yazmam Pandanın bana karşı sarfetmiş oldugu "Uğraşmaya değer bulmadık desek" sözü oldu. Yani tüm forumun adına beni küçük düşürerek konuşması...
    Programda yazan HackerCesur ismine gelince.... Benim gerçek ismim Cesur...
    2 yıllık bilgisayar programlama mezunuyum... kiii doguda bir ilçede ! okudum ve bölüm derslerimize ziraat mühendisi ve iktisat mezunu 2 hoca giriyordu... Yani bizim sınıftan mezun olup ta daha format atmasını bilmeyen ve bilgisayarı kapat deyince monitoru kapatan tipler vardi... Yani bu şartlarda kendimi az da olsa geliştirerek sınıf ve okul birincisi çıktım ordan... Konu zaten bu degil...
    Herkes net ortamında kendisine bir nick (takma isim seçer...)
    Bende ismime bagimli kalarak VE Hackerlere olan ilgimden olayı hackercesur nickini seçtim... ve buna biraz şekil vererek "H@ckerCesur" şeklinde kullanıyorum.....

    Programın işlevine gelirsek... Knight Online diye bir oyun var... Ve bu oyunu türkiyede milyonlar oynuyor.. ve binlercesi de kendi private serverini kurmak istiyor...
    Ben private server kurmayla ilgili videolu döküman hazırladım ve bu forumda da mevcut...
    Amacım kesinlikle hack v.b degil. Amacım Millete yardımcı olmak...
    Birçok kişinin de veritabanıyla ilgili sorunları var... yani çogu nerden kullanıcı açacagını bile bilmiyor...
    Bende faydalı olsun diye önce kendi kendime yaptım... Hatasız çalışan bir program oldu...
    FAKAT egitim ve bilgi yetersizligi nedeniyle... Başka bilgisayara aktardıgımda OCX dosyası vs... Program açılıyor Fakat Orda yüklü olan SQL Servere bağlanmıyor. çünkü tüm bilgiler benim kurdugum veritabanına göre ayarlı....

    işte bende bu programın diger bilgisayarda da işlev görmesi için ne yapmam gerektigini forumda sorayım dedim. Fakat senin verdigin o cevap beni gerçekten üzdü.... Yani dogal olarak kendimi savundum... Her neyse olay bu da degil. Yukarda bahsettigin şeydende birşey anlamadım... Ben programımda Adoc nesnesi kullandım ve properties penceresinden yaptım tüm baglantıları... işte diyorum ki ben bu database bilgilerini dışardan alıp nasıl kullanabilirim... Yani dışardan bir text kutusuna aldırıp programda nasıl kullanacam..
    Veya başka birşeymi yapmam gerekiyor...

    İyi Akşamlar... Biraz uzun oldu ama... Yine kendimi savunma mekanizmam hızlandı...




  • quote:

    Orjinalden alıntı: PanDa

    quote:

    heralde zor geldi neyse ben kendim çözmek üzereyim deneme yanılmayla çözersem buraya da yazarım


    Uğraşmaya değer bulmadık desek
    Bu arada kusura bakma.Eleştiriye açıksan birşey söylemek istiyorum.Program arayüzü çok berbat.NET dillerinden birine geç.Yada manifest filan kullan.Hiç olmadı renkleri değiştir



    Lan adam okadar yapmış ugrasmıs sen onu yapabilecekmisin bakalım adam sana eleştiri yap demiyor sadece sorunun yanıtını bulmaya calısıyor senden eleştiri istemiyor.Eleştireye acıksan demişsin adam acığım dedimi sana.Cok biliyorsan sen yap görelim hadi




  • Neyse unutalım bu tatsız mevzuları.
    Dostum masaüstünde sağ tıkla ve yeni metin belgesi oluştur fakat bunun uzantısını udl olarak değiştir.Şimdi bu udl dosyasına çift tıkladığında karşına bir Data Connection Properties penceresi çıkar.Yani Veri Bağlantı özellikleri.Şimdi burdan Sağlayıcı sekmesinden artık ODBC'mi kullanıyorsun, SQL SERVER mı seçeceksin, yada yada ACCESS'de mi çalışacaksın bilemem.Burdan yani sağlayıcı sekmesinden Provider'ını seç.Örneğin ben SQL SERVER ile çalıştığımdan burdan Microsoft OLEDB Provider for SQL SERVER'ı seçtim.Sonra bağlantı tabına geç.Burdan veri kaynağı kısmına eğer benim gibi SQL SERVER 2005 kullanıyorsan (local)\SQLEXPRESS yaz.Eğer SQL SERVER 7.0 sürümü filan varsa buraya "localhost" yazabilirsin.Birde güvenlik doğrulaması için Windows Authentication'ı seç.Aşağıdaki combobox'dan "Kullanılacak bağlantı kataloğunu seçin" kısmından hangi veri tabanına bağlanacaksan onu seç.Diğer tablarda yetkilendirme de yapabilirsin.Şimdi bu pencerede tamam butonuna tıkla ve kapat.

    Şimdi ben daha önce ADODC kullanmadım ama bağlantı sağlarken bir connection string veriyorsundur connection nesnene herhalde.Bu ifadeyi aşağıdaki gibi yaz;

    "File Name = D:\\baglantı.udl"

    Bu ifadede SQL SERVER anahtarı olan File Name'i kullanacaksın.Buradaki baglanti.udl deminki oluşturduğun dosya.Ben örnek olarak D'de gösterdim.Sen programınla aynı dizine koyup hedef olarak orayı göstereceksin.Bu ifadeyi de standart yapmak istiyorsan "File Name = ExecutablePath + "\\baglanti.udl" tarzı birşey yapabilirsin..

    Umarım sana yardımcı olabilmişimdir.Yine sorun çıkarsa yazarsın.Gerçi biz birşey bilmiyoruz amaa....
    Haydi kolay gele...




  • quote:


    Lan adam okadar yapmış ugrasmıs sen onu yapabilecekmisin bakalım adam sana eleştiri yap demiyor sadece sorunun yanıtını bulmaya calısıyor senden eleştiri istemiyor.Eleştireye acıksan demişsin adam acığım dedimi sana.Cok biliyorsan sen yap görelim hadi


    Sen terbiyesiz bir adamsın bee.Lanlı manlı dingonun ahırı mı burası.Bana mail adresi ver sana bir kaç program göndereyim yazdığım.Tabii içinden çıkabilirsen bakarsın.
  • quote:

    Orjinalden alıntı: PanDa

    Neyse unutalım bu tatsız mevzuları.
    Dostum masaüstünde sağ tıkla ve yeni metin belgesi oluştur fakat bunun uzantısını udl olarak değiştir.Şimdi bu udl dosyasına çift tıkladığında karşına bir Data Connection Properties penceresi çıkar.Yani Veri Bağlantı özellikleri.Şimdi burdan Sağlayıcı sekmesinden artık ODBC'mi kullanıyorsun, SQL SERVER mı seçeceksin, yada yada ACCESS'de mi çalışacaksın bilemem.Burdan yani sağlayıcı sekmesinden Provider'ını seç.Örneğin ben SQL SERVER ile çalıştığımdan burdan Microsoft OLEDB Provider for SQL SERVER'ı seçtim.Sonra bağlantı tabına geç.Burdan veri kaynağı kısmına eğer benim gibi SQL SERVER 2005 kullanıyorsan (local)\SQLEXPRESS yaz.Eğer SQL SERVER 7.0 sürümü filan varsa buraya "localhost" yazabilirsin.Birde güvenlik doğrulaması için Windows Authentication'ı seç.Aşağıdaki combobox'dan "Kullanılacak bağlantı kataloğunu seçin" kısmından hangi veri tabanına bağlanacaksan onu seç.Diğer tablarda yetkilendirme de yapabilirsin.Şimdi bu pencerede tamam butonuna tıkla ve kapat.

    Şimdi ben daha önce ADODC kullanmadım ama bağlantı sağlarken bir connection string veriyorsundur connection nesnene herhalde.Bu ifadeyi aşağıdaki gibi yaz;

    "File Name = D:\\baglantı.udl"

    Bu ifadede SQL SERVER anahtarı olan File Name'i kullanacaksın.Buradaki baglanti.udl deminki oluşturduğun dosya.Ben örnek olarak D'de gösterdim.Sen programınla aynı dizine koyup hedef olarak orayı göstereceksin.Bu ifadeyi de standart yapmak istiyorsan "File Name = ExecutablePath + "\\baglanti.udl" tarzı birşey yapabilirsin..

    Umarım sana yardımcı olabilmişimdir.Yine sorun çıkarsa yazarsın.Gerçi biz birşey bilmiyoruz amaa....
    Haydi kolay gele...

    cevap için teşekkürler. şu anda çıkmam lazım eve gitcem dükkandayım ufak bir de bilgisayarcı açmıştık...
    neyse ben yarın bunlari bir güzel denerim... Bu arada SQL Server 2000 kullanıyorum.

    işte amacım şu : Benim veritabanımda cesur diye bir veritabanım var bunun içinde de onlarca tablo var...
    ayrıca ben bu veritabanına kullanıcı adı ve şifre oluşturmuşum security bölümünden...
    benim bir de odbcm var... ismi yine cesur.... anlatmak istedigim şey başka bilgisayarlarda açınca programı bu isimler degişik oluyor... işte o zaman program baglanamıyor HERNEYSE Yarın dener çözümü yazarım.
    iyi geceler. allah rahatlık versin




  • evet pandanın dediği yol en kısalarından biri .. bide benim aklıma şu geldi programın exe si ile aynı klasorde olursa db dosyan ki access(bu dedim access db için geçerli) işini görür gibi sonradan yol tarifinede gerek kalmaz ama exe ile db aynı klasorde olucak ...
  • Dostum tabii ki farklı bilgisayarlarda farklı configurasyonlar ve isimler olacak.Uygulamanın taşınabilir olması için bazı şeyleri standartlaştırman lazım.Örneğin database bağlanırken makine ismi yerine localhost ifadesi programın çalıştığı tüm local makinelerde geçerlidir.Şimdi gelelim Security olayına.
    Database'ini hedef makinelerde nasıl oluşturuyorsun bilmiyorum.Fakat ben bunun içinde sana bir yöntem sunacağım.Çoğu uygulamamda database'i başka makinelere taşırken SQL Enterprise'da ilk önce tasarımımı yaparım(Tabi bu 2000 için ben SQL STUDIO'da yapıyorum), daha sonra Generate Script yapıp elde ettiğim .sql dosyasını ya -qsql ile bat dosyasında çalıştırırım, yada bu dosyayı program başlangıcında okur bir command ile işletirim.Bu durumda script içindeki GO ifadeleri olmamalı.Şimdi bunları neden anlattım.Sende bu yolu izliyorsan Generate Script dedikten sonra kendi makinende oluşturduğun Security bilgileride bu script dosyasında olacaktır.Örneğin CESUR adlı USER, HKR_CESUR adlı LOGIN'i ve 12345 password'u ile veri tabanına bağlanıyor.Bu nesneleri program ilk çalıştırılırken kullanıcıdan isteyerek oluşturabilirsin.Örneğin database'ini herşeyini oluşturursun, sıra bu bilgilere geldiğinde bir dialog penceresinden kullanıcıdan bu bilgileri ister bunlarıda oluşturur, daha sonra bunların tekrarlanmaması için Registry'de bir değer oluşturup bunu set edersin ve her program başlangıcında bu değeri kontrol eder eğer 0 ise database kurulum işlemlerini tekrarlar 1 ise atlarsın.Bu sayede database göçtüğünde ve yeniden oluşturulması gerektiğinde gidip sadece Registry'de bu değeri değiştirmen yeterli olur.Hatta programında bir button koyup AYARLARI SIFIRLA deyip programını yeniden başlattığında ve butona tıklandığında bu registry değerini 0'layıp program yeniden başladığında database'in yeniden kurulmasını sağlayabilirsin.
    Sana birçok seçenek söyledim.T-SQL ile USER, LOGIN oluşturmayı biliyorsan hedef makinede bilgileri al, T-SQL cümleni programatik olarak düzenle ve bir command ile çalıştır.Kolay gelsin...



    < Bu mesaj bu kişi tarafından değiştirildi PanDa -- 3 Eylül 2007; 7:56:24 >




  • Dostum çok teşekkürler... Adodc nesnesinin connection string ile hallettim sorunumu... Halbuki bildigim şeymiş ama nasıl kullanacagımı bilmiyordum işte türkiyedeki çarpık egitim sistemi budur....
    Neyse Herşey için teşekkürler...

    Bun bunu geliştirerek piyasaya veya yakın arkadaşlarıma vercem

    baglanti.udl oluşturdum. Bunu c sürücüsüne attım... Sonra adodc nesnelerinin hepsinin connection string degerini degiştirdim veeeeee program çalışıyor... Valla 1 haftadır buna ugraşıyordum... eline saglık...
    Artık programı yayınlarkende söylerim udl dosyasını c sürücüsüne atın ve degiştirin diye
    Tekrar teşekkürler...




  • Birşey değil dostum.Yalnız programını InstallShield gibi bir programla SETUP hazırlarsan daha iyi olur.Yani kullanıcılara UDL dosyasını C'ye atın demek olmaz.Hem adamın belki C'yi kullanmak istemiyor.Standartlaştırma önemlidir.InstallShield bunu yapıyor.Doyalarını [ProgramFilesFolder]\CESUR\ diye kuruyor.Burada [ProgramFilesFolder] nerde dert etmene gerek yok o buluyor.UDL'de ise File Name = ExecutablePath + "\\" + baglanti.udl dersen programın çalıştığı dizinde baglanti dosyası var anlamına gelir.Yineden sen bilirsin.Kolay gelsin...
  • quote:

    Orjinalden alıntı: PanDa

    Birşey değil dostum.Yalnız programını InstallShield gibi bir programla SETUP hazırlarsan daha iyi olur.Yani kullanıcılara UDL dosyasını C'ye atın demek olmaz.Hem adamın belki C'yi kullanmak istemiyor.Standartlaştırma önemlidir.InstallShield bunu yapıyor.Doyalarını [ProgramFilesFolder]\CESUR\ diye kuruyor.Burada [ProgramFilesFolder] nerde dert etmene gerek yok o buluyor.UDL'de ise File Name = ExecutablePath + "\\" + baglanti.udl dersen programın çalıştığı dizinde baglanti dosyası var anlamına gelir.Yineden sen bilirsin.Kolay gelsin...

    Dostum sende bizi iyice cahil ettin Setup yapmayı biliyorum hatta kullandıgım program Install Creator Pro 2.0 budur. ücretsiz bir program işe yarıyor. Çok teşekkürler. Yardımcı oldugun için...




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.