exe sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
digitdigitman
Üye
Mesajlar: 32
Kayıt: 04 May 2014 02:23

exe sorunu

Mesaj gönderen digitdigitman »

merhaba arkadaşlar. herkese kolay gelsin.
yazdığım bir programı ve veritabanını kullanacak olan makineye taşıdığımda. ilk çalıştırmamda
Sağlayıcı bulunanmadı veya düzgün yüklenmemiş olabilir diye bir hata alıyorum

kendim yazdığım makine haricinde b,r makineye kurduğum sql le veritabanını atıp program exesinide kendi maknemden çalıştırdığımda sorun yaşamadım
ama programı asıl kullanacak olan makineye taşıdığımda bu sorun ile karşılaştım


konu ile ilgili yardım edecek arkadaşlara şimdiden teşekkür ederim.

ms sql 2012 kullanıyorum
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: exe sorunu

Mesaj gönderen mrmarman »

(1) İlk çalıştırmada hata veriyor ama sonrakilerde hata vermiyorsa connection TIMEOUT değerini biraz esnetin.

(2) Uzak makineden bağlanamama durumu için (Veritabanı fiziksel olarak kurulu olduğu yani SQLServer kurulu makine hangisi ise )
. (a) TEST için Güvenlik Duvarını geçici olarak kapatın.
. (b) SQLServer TCP erişiminin ENABLED olduğuna emin olun.
. (c) Uzak makineden ServerIP (virgül) PORT şeklinde ilgili IP - PORT ikilisinin doğru olduğuna emin olun.
. (d) Daha güzeli, uzak herhangi bir makineye (kendi dizüstünüz de olabilir) SQLServer Management Studio kurun ve onunla (sa) olarak bağlanmaya çalışın.
Resim
Resim ....Resim
digitdigitman
Üye
Mesajlar: 32
Kayıt: 04 May 2014 02:23

Re: exe sorunu

Mesaj gönderen digitdigitman »

veritabanıda exe de aynı makinede

connection string şu şekilde

procedure TAna_Form.RzBitBtn1Click(Sender: TObject);
var
a1,aa1,b1,c1,d1,e1,f1:String;
g1,h1,j1,k1,l1,m1,n1,o1:String;

a,aa,b,c,d,e,f:String;
g,h,j,k,l,m,n,o:String;

sifre1:integer;
ad:String;
begin


//Con_btkursyon.Connected:=False;
a1:='Provider=SQLNCLI.1;';
aa1:='Password=11111;';
b1:='Persist Security Info=True;';
c1:='User ID=sa;';
d1:='Initial Catalog='+RzDBEdit3.Text+';';
//d:='Initial Catalog=btkursyon;';
e1:='Data Source='+RzDBEdit1.Text+';';
//f1:='Use Procedure for Prepare=1;';
//g1:='Auto Translate=True;';
//h1:='Packet Size=4096;';
//j1:='Workstation ID='+RzDBEdit1.Text+';';
//k1:='Use Encryption for Data=False;';
//l1:='Tag with column collation when possible=False;';
//m1:='MARS Connection=False;';
//n1:='DataTypeCompatibility=0;';
//o1:='Trust Server Certificate=False;';
Con_btkursyon.ConnectionString:=a1+aa1+b1+c1+d1+e1;//+f1+g1+h1+j1+k1+l1+m1+n1+o1;
Con_btkursyon.Connected:=True;
{
Provider=SQLNCLI.1;
Password=11111;
Persist Security Info=True;
User ID=sa;
Initial Catalog=btkursyon;
Data Source=HPCOMP
}
SHOWMESSAGE('Yönetim Veritabanına Bağlandı');



//Con_btkurs.Connected:=False;

a:='Provider=SQLNCLI.1;';
aa:='Password=11111;';
b:='Persist Security Info=True;';
c:='User ID=sa;';
d:='Initial Catalog='+RzDBEdit2.Text+';';
//d:='Initial Catalog=btkurs;';

e:='Data Source='+RzDBEdit1.Text+';';
f:='Use Procedure for Prepare=1;';
g:='Auto Translate=True;';
h:='Packet Size=4096;';
j:='Workstation ID='+RzDBEdit1.Text+';';
k:='Use Encryption for Data=False;';
l:='Tag with column collation when possible=False;';
m:='MARS Connection=False;';
n:='DataTypeCompatibility=0;';
o:='Trust Server Certificate=False;';
Con_btkurs.ConnectionString:=a+aa+b+c+d+e+f+g+h+j+k+l+m+n+o;
Con_btkurs.Connected:=True;
SHOWMESSAGE('Veritabanına Bağlandı');
{
Provider=SQLNCLI.1;
Password=11111;
Persist Security Info=True;
User ID=sa;
Initial Catalog=btkurs;
Data Source=HPCOMP;
Use Procedure for Prepare=1;
Auto Translate=True;
Packet Size=4096;
Workstation ID=ATALAR;
Use Encryption for Data=False;
Tag with column collation when possible=False;
MARS Connection=False;
DataTypeCompatibility=0;
Trust Server Certificate=False
}

küme parantezleri içinde yer alan bilgiler orjinal stringler

zaten bu 2012 yi birtürlü anlayamıyorum kendi makinemdeki db yi diğer makineye atach ederkende restore ederkende katalar veriyo. ama sıfırdan db açabiliyorum ???

bu arada karşıdaki makine w8 bende ise v7 var bununla alakalı olabilirmi karşıdaki makine 64 bit işletim sistemi vende ise 32bit bu yüzden karşıdakinede 32 bit sql kurdum
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: exe sorunu

Mesaj gönderen sabanakman »

"Hatalar veriyor" ifadesi çok yüzeysel. Nerede ne yapınca ne hata geliyor tam metni bildirirseniz daha anlaşılabilir olabilir.

İp ucu..: Hata mesajı penceresinde Ctrl+C yaparsanız penceredeki metni hafızaya almış olursunuz?
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
cinarbil
Üye
Mesajlar: 109
Kayıt: 18 Mar 2014 09:26

Re: exe sorunu

Mesaj gönderen cinarbil »

iyi günler.
ana makina server 2012 anladığım kadarıyla
alakası yok demeyin bir deneyin.

ana makinada database ve varsa programınızın olduğu dizinin özelliklerinde güvenlik sekmesinde düzenle bölümüne ekle
diyerek tüm sql kullanıcılarını ekleyin sql admin, sqlbackup ve tüm sql kullanıcıları

bir ilerleme olursa paylaşın lütfen
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
digitdigitman
Üye
Mesajlar: 32
Kayıt: 04 May 2014 02:23

Re: exe sorunu

Mesaj gönderen digitdigitman »

ARKADAŞLAR
connection string te bulunan Provider=SQLNCLI.1 satırını
Provider=SQLOLEDB.1 oalrak değiştirdim. internette birazdaha ayrıntılı araştırınca bu şekilde olabileceğini buldum.
ve sorun çözüldü ama bu değişiklik tam olarak ne yaptıda düzeldi :) bilmiyorum. bilgisi olan arkadaşlar yazabilirmi.
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: exe sorunu

Mesaj gönderen sabanakman »

SQL Server veritabanı bağlantısı kurarken hangi kütüphaneyi kullanacağını belirtir, SQLOLEDB (Microsoft OLE DB for SQL Server) eski bir kütüphanedir ama bütün sistemlerde vardır ama SQLNCLI (SQL Server Native Client) ise yeni teknolojiler içeren bir kütüphanedir her sistemde yüklü olamayabiliyor, ayrıca internetten indirip (sqlncli=http://www.connectionstrings.com/downlo ... ve-client/) kurmak gerekebiliyor.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla