Programım belirtilmemiş bağlantı hatası veriyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
yuksel2004
Üye
Mesajlar: 61
Kayıt: 26 May 2005 08:55
Konum: Bursa

Programım belirtilmemiş bağlantı hatası veriyor

Mesaj gönderen yuksel2004 »

Bir programım var.DB olarak Access bağlantı olarak Ado kullandım.Çalışıp duran program bugün çalışmaz olmuş.İşletim sistemi WinXP Home SP2 Belirtilmemiş hata diyor.Tüm formlar açılıyor ancak data bağlantıları olmuyor.Dataset açık değil hatası da Belirtilmemiş hata mesajının arkasından geliyor.Program başka makinalarda çalışıyor.Sanırım o makinada bazı windows dosyaları zarar görmüş.Ama müşteriye durumu anlatamıyosun.Hatanın programdan kaynaklandığını sanıyo.Formata da yanaşmıyo.Acaba hangi dosya zarar görmüştür.O dosyayı yerine koysak.Hiç böyle bir şey başına gelen varmı?Herkese kolay gelsin.
Unutmayalım ki bu hayat bir demodur ve tam sürüm kullanabilmek için lisans ücreti ödemememiz düşünülemez.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

mdac i yeniden yıklemeni öneririm bunu da microsoftun sitesinde bulabilirsin
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
yuksel2004
Üye
Mesajlar: 61
Kayıt: 26 May 2005 08:55
Konum: Bursa

Mesaj gönderen yuksel2004 »

MDAc i de yükledim ama sorun devam ediyor.Başka ne olabilir acaba.Teşekkürler.
Unutmayalım ki bu hayat bir demodur ve tam sürüm kullanabilmek için lisans ücreti ödemememiz düşünülemez.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

şimdi yanlış anlamadıysam bir tane client hariç diper client makineler çalışıyor ama o makine çalışmıyor

bu bir ağ hatası olabilir.
ağı tekrar bi kontrol et deerim
birde bu makinenin ayarları ile biri oynamışmı onu sor insanlara
sonra çalışan client makinedeki exeni al buraya birde öyle dene

son olarakta hatanın fotosunu cek koyda tam olatak bi bakalım :)
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
yuksel2004
Üye
Mesajlar: 61
Kayıt: 26 May 2005 08:55
Konum: Bursa

Mesaj gönderen yuksel2004 »

İlgilendiğin çok teşekkür ederim.Ama yanlış anlamışsın.Program lokal çalışıyor.Diğer makinalardan kastım denemek amacıyla aynı programı başka yerlerde başka pclere kurdum.Çalıştı hepsinde.Sorun kesinlikle windowsta ama neresinde.Çözüm format ama kişi buna yanaşmadığı için böyle bi çözüm aruyorum.Tekrar teşekkürler ilgilendiğin için.
Unutmayalım ki bu hayat bir demodur ve tam sürüm kullanabilmek için lisans ücreti ödemememiz düşünülemez.
Kullanıcı avatarı
selman
Üye
Mesajlar: 664
Kayıt: 04 Ara 2003 12:06
Konum: İzmir

Mesaj gönderen selman »

selam
dediğin gibi bu durum Windowstan kaynaklanıyo olabilir .Ado zarar görmüş olabilir.Yeniden kurarsan sorunun gidebilir.Veya Windows Xp yi kur kolay gelsin
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Selam...

- Bir küçük proje daha hazırla. Bu projede de ADO bağlantılarının yapıldığı kısımlar olsun. Hata verip vermediğini test etmiş ve kaynağına kolayca ulaşırsın.

- Kesinlikle ve kesinlikle Form'a önceden hazırlanmış ADO nesneleri olmasın. Hali hazırdaki kurulumlar sana hata hakkında fikir veremezler. Yani AdoTable, AdoQuery, AdoConnection gibi nesneleri diamik olarak create et, birbirine bağla ve free et. Sonuçları mesajlarla görüntülersin.

- Servis mesajları içeren kısımlar ekle ve bunları Splash ekranında adım adım göstermesini sağla.

- Orjinal projende de formların OnCreate olaylarına, veritabanının açıldığı, varsayılan sorguların yapıldığı yerlere, hesaplamalar yapılan yerlere, ayarlar yapılan yerlere vb. ekrana şunu yapıyorum, işlem başarılı şeklinde bigileri br Label'a yansıt ki hataya nerede takılınılıyorsa adım adım dene.
Resim
Resim ....Resim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Tekrar Merhaba....

- Bahsettiğim test için bir tane örnek hazırlayım dedim... :idea:

// Gerekli Sabitler ve iki Fonksiyon (Veritabanı Oluştur, Tablo Oluştur)

Kod: Tümünü seç

Const
  {MS-Access}
  Baglanti1 = 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=%s;Mode=Read|Write;';
  Baglanti2 = 'Extended Properties="";Locale Identifier=1055;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=4;';
  Baglanti3 = 'Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";';
  Baglanti4 = 'Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don'#39't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';

Kod: Tümünü seç

Procedure VeritabaniOlustur( Dosya : ShortString );
var
  // Uses'a Eklenecekler : ADOX_TLB, ComObj
  Catalog  : _Catalog;
  DS       : String;
begin
  Catalog := CreateCOMObject(StringToGUID('ADOX.Catalog')) as _Catalog;
  DS := Format(Baglanti1, [Dosya]);
  If FileExists(Dosya) Then DeleteFile(Dosya);
  Catalog.Create(DS);
end;

Kod: Tümünü seç

Procedure TabloOlustur(Dosya:String);
Var
  ADOConnection2 : TADOConnection;
  ADOCommand2    : TADOCommand;
begin
  ADOConnection2 := TADOConnection.Create(Nil);
  ADOConnection2.LoginPrompt := False;
  ADOConnection2.ConnectionString :=
        Format( Baglanti1 + Baglanti2 + Baglanti3 + Baglanti4, [ Dosya ] );
  ADOConnection2.Connected := True;

  ADOCommand2 := TADOCommand.Create(Nil);
  ADOCommand2.CommandText:= 'CREATE TABLE deney ( KAYITNO Numeric, TARIH Date, ACIKLAMA Text(50), BORC Currency, ALACAK Currency, BAKIYE Currency )';
  ADOCommand2.Connection := ADOConnection2;
  ADOCommand2.Prepared := true;
  ADOCommand2.Execute;
  ADOCommand2.Free;

  ADOConnection2.Connected := False;
  ADOConnection2.Free;
end;
// Veritabanı ve Tablo Oluştur Butonu

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
Var
  Dosya : String;
begin
  Dosya := ExtractFilePath(Application.Exename) + 'Deneme.mdb';
  If FileExists(Dosya) then DeleteFile(Dosya);

  VeriTabaniOlustur(Dosya);
  TabloOlustur(Dosya);
end;
// 100 Kayıt Giriş Yap Butonu

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
Var
  Sayac : Integer;
  AdoQuery3 : TAdoQuery;
  Dosya : String;
begin
  Dosya := ExtractFilePath(Application.Exename) + 'Deneme.mdb';
  AdoQuery3 := TAdoQuery.Create(Nil);
  With AdoQuery3 do
  begin
    ConnectionString := Format( Baglanti1 + Baglanti2 + Baglanti3 + Baglanti4, [ Dosya ] );
    SQL.Add('INSERT INTO deney');
    SQL.Add('       ( KAYITNO, TARIH, ACIKLAMA, BORC, ALACAK, BAKIYE )');
    SQL.Add('Values ( :v1, :v2, :v3, :v4, :v5, :v6 )');
    For Sayac := 1 to 100 do
    begin
      Parameters.ParamByName('v1').Value := Sayac;
      Parameters.ParamByName('v2').Value := Date;
      Parameters.ParamByName('v3').Value := Format('Açıklama %.3d', [Sayac]);
      Parameters.ParamByName('v4').Value := Sayac*10;
      Parameters.ParamByName('v5').Value := Sayac*100;
      Parameters.ParamByName('v6').Value := (Sayac*100)-(Sayac*10);
      ExecSQL;
    end;
  end;
  AdoQuery3.Free;
end;
- Derlenmiş halini de bulacağın ZIP linki ... http://divxturk.divxforever.com/files/g ... DOTest.zip 230k
Resim
Resim ....Resim
Kullanıcı avatarı
yuksel2004
Üye
Mesajlar: 61
Kayıt: 26 May 2005 08:55
Konum: Bursa

Mesaj gönderen yuksel2004 »

Muharrem Bey
İlginize çok teşekkür ederim.Tavsiyenizi deneyeceğim ayrıca bundan sonraki projelerimdede dediğiniz gibi adım adım bilgilendirme metodunu kullanıcam.Bunu daha önceden yapmış olsaydım şu anda nerede takıldığını anlayabilirdik heralde.Tekrar teşekkürler.
Unutmayalım ki bu hayat bir demodur ve tam sürüm kullanabilmek için lisans ücreti ödemememiz düşünülemez.
Kullanıcı avatarı
yuksel2004
Üye
Mesajlar: 61
Kayıt: 26 May 2005 08:55
Konum: Bursa

Mesaj gönderen yuksel2004 »

Arkadaşlar teşekkürler.Formatla sorun çözüldü.Sanırım adodan başka dosyalarda zarar görmüş olabiliir.Herkese yardım ve ilgileri için teşekkürler.
Unutmayalım ki bu hayat bir demodur ve tam sürüm kullanabilmek için lisans ücreti ödemememiz düşünülemez.
Cevapla