1

Konu: SQl server 2005 hakkında

Üsdatlar SQL server 2005 i network üzerinde bir makinaya kurdum.Ancak aşağıdaki kodlarla bağlanamadım.Acaba program geliştirdiğim makinada SQL server 2005 ile ilgili bir tool yüklemem gerekiyormu?


Local lnHandle,strConString
LOCAL lnStart,lnStop,lnDiff
LOCAL lcServerType
nAnswer=INPUTBOX("","Server Tipini Girin : 1-local 2-internet","1")
lcServerType= ICASE(nAnswer="1","192.168.5.201","85.105.120.100")

m.lnstart = datetime()
strConString = ;
"Driver={SQL Native Client};Server= &lcServerType;Database=webyayin;Uid=sa;Pwd=12345;"
lnHandle = Sqlstringconnect( m.strConString)

IF m.lnHandle < 0
WAIT WINDOW  m.lnHandle
MESSAGEBOX("Bağlantı sağlanamadı")
return
ENDIF

En büyük sermaye nakit,nakit sermaye vakittir...

2

Re: SQl server 2005 hakkında

http://www.fox4um.com/viewtopic.php?id=1213
yi incele.
uid, pwd  ..., driver yüklemesine kadar hepsi var

VFP9 SP2

3

Re: SQl server 2005 hakkında

Konuk,bahsettiğin linki zaten inceledim.Orada SQL server 2008 den bahsediliyor ben kodlarımı;

handle = SQLSTRINGCONNECT('Driver={SQL Server Native Client};'+;
   Server=.\sqlexpress;Database=webyayin;Trusted_Connection=yes;')
lnHandle = Sqlstringconnect( m.strConString)

IF m.lnHandle < 0
WAIT WINDOW  m.lnHandle
MESSAGEBOX("Bağlantı sağlanamadı")
return
ENDIF

şeklinde düzenledim.Ancak bağlanamdım,yukarıda  Server=.\sqlexpress  'i serverin IP adresi olarak ta yazdım yine olmadı.Bir yerde ufak bir püf noktası var ama çözemedim :-( Acaba SQL server 2005 kurulumunu mu yanlış yaptım?

En büyük sermaye nakit,nakit sermaye vakittir...

4 Son düzenleyen, cetinbasoz (25.03.2009 11:21:24)

Re: SQl server 2005 hakkında

Sunlari kontrol et ve yap

- Baslat\Programlar\MS SQL Server 2005\Configuration\Surface config

Surface Area config for service and connections - Database engine - Remote connections

Local and Remote'i isaretle

(Eger zaten isaretli degilse Database engine - Service Stop/Start)

- Eger named pipes istiyorsan Configuration\Configuration manager\SQL server 2005 services altinda  SQL server browser service var, onu enable et.

-Yine Configuration\Configuration manager altinda SQL sever 2005 Network config.\Protocols for (kullandigin instance)
Normalde sadece shared memory enabled, TCP/IP'yi ac istiyorsan Named pipes'i da ac.
TCP/IP'yi deafult ayarlarda ise sorun yok. Degilse sag klikle properties ve portlari ayarla. dynamic port:0 (bir port araliginda dinliyor  - default 1433 dahil).

- Sqlservr.exe icin firewall da gecis ver. (...\MSSQL\Binn\sqlservr.exe)

- SQL server browser service kullaniyorsan ona da firewall gecisi ver (..\90\Shared\sqlbrowser.exe).

---------------------------------------

Driver adi hatali senin stringde ve connectionstringler, bosluklar dahil en ufak hatayi kaldirmiyor.
{SQL Native Client} (ilk yazdiginda dogru). Uzak server .\sqlexpress olmaz. . (nokta) lokal makine demek.

(& ya hic gerek yok:)

Visual Fox Pro
nAnswer=INPUTBOX("","Server Tipini Girin : 1-local 2-internet","1")

lcServerType= ICASE(nAnswer="1","192.168.5.201","85.105.120.100") + "\SQLExpress"
 
strConString = ;
  "Driver={SQL Native Client};"+;
  "Server=" + m.lcServerType + ";Database=webyayin;Uid=sa;Pwd=12345;"
 
lnHandle = Sqlstringconnect( m.strConString)

sa kullanmak pek akillica degil. Once baglan sonra hesap yaratirsin.

Hic hata mesaji soylememissin. Baglanmaya calisan makinede client driverlar gerekiyor (ODBC, OLEDB veya her ikisi kullandigina gore. Sen ODBC ile baglanmaya calisiyorsun).

Not: SQLExpress instance adi var mi yok mu analamadim. Sen verdigin orneklerden birisinde default instance kullanmissin digerinde SQLExpress. O onemli. Ayni makinede N tane SQL server instance calisiyor olabilir. Mesela benim makinede:

.
.\SQLExpress
.\SQL2008
.\SQL2005
.\XP437

var (biri 2000, 3'u 2005, birisi 2008 - en kucuk kardes en gelismisi:).

5

Re: SQl server 2005 hakkında

cetinbasoz yazdı:

Sunlari kontrol et ve yap

-- Sqlservr.exe icin firewall da gecis ver. (...\MSSQL\Binn\sqlservr.exe)

- SQL server browser service kullaniyorsan ona da firewall gecisi ver (..\90\Shared\sqlbrowser.exe).


Hic hata mesaji soylememissin. Baglanmaya calisan makinede client driverlar gerekiyor (ODBC, OLEDB veya her ikisi kullandigina gore. Sen ODBC ile baglanmaya calisiyorsun).

Not: SQLExpress instance adi var mi yok mu analamadim. Sen verdigin orneklerden birisinde default instance kullanmissin digerinde SQLExpress. O onemli. Ayni makinede N tane SQL server instance calisiyor olabilir. Mesela benim makinede:

.


Çetin hocam söylemiş olduğunuz bütün adımları uyguladım,Malesef bağlantıyı kuramadım.
Ancak Frewall ' a geçiş veri tam anlayamadım.Makina üzerinde kurulu bir firewall yok.İnternet bağlantısı için bir firewall var ancak,ben daha henüz lokal olarak bile bağlanmayı beceremedim :-(  . O iç network'ü etkilemez gibi geliyor bana.

IF m.lnHandle < 0
WAIT WINDOW  m.lnHandle
MESSAGEBOX("Bağlantı sağlanamadı")
return
ENDIF

kodunda takılıyor. ve herhangi bir hata mesajı vs gelmiyor ekrana.

SQL server 2005 kurulu makinada
SERVER TYPE :DATABASE ENGINE
SERVER NAME:K1\SQLEXSPRESS
AUTHENTICATION= SQL server AUTHENTICATION
seçip, login ve passaword bilgilerini ile database yi görebiliyorum.
Diğer bir makinada SQL 2000 kurulu O database ye bağlanabiliyorum :-( başka gözden kaçan bir püf nokta olabilir mi hocam?

En büyük sermaye nakit,nakit sermaye vakittir...

6

Re: SQl server 2005 hakkında

O kodda takilmadan once hata mesaji verir. Yanlis mi yaziyorsun bilmiyorum ama bu sefer de:

K1\SQLEXSPRESS demissin. Standard disi isim kullanmissin. Sonra yazarken hata yapiyor olmayasin.

7 Son düzenleyen, neyzen (25.03.2009 16:59:00)

Re: SQl server 2005 hakkında

çetin hocam orada K1 serverin ismini ifade ediyor.çetin hocam şimdi ben başla bir makinaya sql server 2005  kurdum bilgilerini vereyim,acaba benim yazılım yaptığım makinamdamı bir problem var onu anlamış olalım.
hocam örnek database bilgileri şu şekilde


IP: 89.19.9.146
DATABASE: cinar1DB
User: sa
Pass: sadeneme
table ismi :GENEL_SBS

hocam eğer siz bağlanıyorsanız bu bilgisayarı kaldırıp atacağım :-)

En büyük sermaye nakit,nakit sermaye vakittir...

8

Re: SQl server 2005 hakkında

Neyzen,
asagidaki kodla ben baglandim sad

Visual Fox Pro
Local lnHandle,strConString

LOCAL lnStart,lnStop,lnDiff
LOCAL lcServerType
nAnswer=INPUTBOX("","Server Tipini Girin : 1-local 2-internet","1")
lcServerType= ICASE(nAnswer="1","192.168.5.201","89.19.9.146")
 
m.lnstart = datetime()
strConString = ;
"Driver={SQL Native Client};Server= &lcServerType;Database=cinar1DB;Uid=sa;Pwd=sadeneme;"
lnHandle = Sqlstringconnect( m.strConString)
 
IF m.lnHandle < 0
WAIT WINDOW  m.lnHandle
MESSAGEBOX("Bağlantı sağlanamadı")
return
ENDIF
 
cSQL = "select * from genel_sbs"
 
SQLEXEC(m.lnhandle,m.cSQL,'test')
brow

bu arada bilgisayar laptop sa bana yolla smile

9 Son düzenleyen, konuka (25.03.2009 21:17:13)

Re: SQl server 2005 hakkında

hata araması için aşağıdakini öneriyorum:

Visual Fox Pro
lnHandle = Sqlstringconnect( m.strConString)

IF 0>lnHandle
  DO hata
ENDIF
 
PROCEDURE hata  && SQL komut hatalarını belirleme için  (UTden almıştım)
LOCAL Array aHata[1]
LOCAL ix,lcHata
Aerror(aHata)
lcHata = ''
FOR ix = 1 TO 7
  lcHata = m.lcHata + Transform(aHata[m.ix]) + Chr(13)
Endfor
Messagebox(m.lcHata)
RETURN


belki hata mesajına göre birşey çıkabilir ...

2005 driver için link de aşağıda:
sayfa->  http://www.microsoft.com/downloads/deta … laylang=en

download-> http://download.microsoft.com/download/ … qlncli.msi

VFP9 SP2

10 Son düzenleyen, cetinbasoz (25.03.2009 21:52:28)

Re: SQl server 2005 hakkında

Senın kodunla baglandım

Visual Fox Pro
Local lnHandle,strConString

LOCAL lnStart,lnStop,lnDiff
LOCAL lcServerType
nAnswer=INPUTBOX("","Server Tipini Girin : 1-local 2-internet","1")
lcServerType= ICASE(nAnswer="1","192.168.5.201","89.19.9.146")
 
m.lnstart = datetime()
strConString = ;
"Driver={SQL Native Client};Server="+m.lcServerType+";Database=cinar1DB;Uid=sa;Pwd=sadeneme;"
lnHandle = Sqlstringconnect( m.strConString)
 
IF m.lnHandle < 0
WAIT WINDOW  m.lnHandle
MESSAGEBOX("Baðlantý saðlanamadý")
return
ENDIF
 
SQLEXEC(m.lnHandle,"select * from genel_sbs","result")
SQLDISCONNECT(0)
SELECT result
BROWSE

Tablo bos gerci.

Senin makine bir proxy uzerinden cikiyor olmasin. Portlar kapalidir.

11 Son düzenleyen, neyzen (26.03.2009 13:40:14)

Re: SQl server 2005 hakkında

Öncelikle tüm üsdatlarıma teşekkürlerimi bir borç bilirim.Problemi Çözdüm.Daha doğrusu üsdatlar yönlendirdi Ben icra ettim :-)

1) Makinamda SQL server 2005 Native clilent yüklü değilmiş .KONUKA üsdadın verdiği linkten indirdim(Bilgisayarım haklı,Driver yüklü olmadan nasıl bağlanacaksam ? smile)
2)Çetin hocamın bahsettiği
- Sqlservr.exe icin firewall da gecis ver. (...\MSSQL\Binn\sqlservr.exe)
- SQL server browser service kullaniyorsan ona da firewall gecisi ver (..\90\Shared\sqlbrowser.exe).

yönergesine göre, frewall dan geçiş verdim.(Eskiden ne güzeldi çetin hocam,Güvenlik duvarı yoktu,problemde yoktu valla,ne gerek var bir sürü sıkıntı bence siz ne dersiniz ? smile)

3 ) soykanozcelik ve çetin üsdatların kodlarından herhangi biriyle veritabanına bağlanabildim.

herkezin emeğine sağlık,tekrar teşekkür ediyorum

En büyük sermaye nakit,nakit sermaye vakittir...

12

Re: SQl server 2005 hakkında

SQL server 2005 Native clilent ın yüklü olup olmadığını VFP kodla öğrenmek için aşağıdaki adreste en baştaki programı kullanabilirsiniz.

http://www.fox4um.com/viewtopic.php?id=846

13

Re: SQl server 2005 hakkında

neyzen yazdı:

KONUKA üsdadın verdiği linkten indirdim


Öncelikle çok naziksin, burada biribirimize faydalı olabildiğimiz kadar kişisel memnuniyetimizin de arttığını düşünüyorum, o nedenle teşekkürlerimiz fox4um'a olsun.

Diğer ustaların/üstadların yanında ben TUTMA dahi olamam, önerdiğim şeyi bana ÇetinB. 2008 için yollamıştı...

VFP9 SP2

14

Re: SQl server 2005 hakkında

Konuka,
Oyle deme kimden ne cevher cikacagi hic belli olmaz:) Ben simdiye kadar yeni baslayanlardan bile cok seyler ogrendim (bir tamesi oglum - daha kucukken oyalansin diye onune verdigim VFP'den hic kod yazmadan grid yapildigini ogrenmistim, benim aklima gelmezdi:).