Programlama | Programlama Dilleri | C Programlama Dili |C++

Hata
  • XML Parsing Error at 1:82. Error 9: Invalid character
Anasayfa Sunucu Kurulumlar? SQL(Structured Query Language) SQL Server,Odbc, Ole Db ,Dao ,Ado


SQL(Structured Query Language) SQL Server,Odbc, Ole Db ,Dao ,Ado

Structured Query Language (SQL)

VER?TABANINA ER???M

Tipik bir i? yeri veri taban? yklemesinde, veri taban?n?n al??t??? bilgisayar? gremezsiniz. Veritaban?, server odas?ndaki serverdad?r ve siz masast bilgisayarla al??acaks?n?zd?r. Veritaban?yla ba?lant? kurmak iin ona a? zerinden ba?lanmal?s?n?z.

Genelde ba?lant?n?z LAN (yerel a? ba?lant?s?) veya WAN (geni? a? ba?lant?s?)la sa?lan?r. Bilgisayar?n?z, a? arayz kart? ve bu karta tak?l? a? kablosuna sahiptir. Bu kartlar?n en yayg?n? Ethernet adaptrdr. Bununla beraber Token ring adaptr de kullanabilirsiniz. A? arayz kart? serverla ileti?im sa?lar (istekte bulunur, cevap al?r). ?leti?im, protokoller ad? verilen bir grup szle?meye gre yap?l?r. Bunlar?n en yayg?n? Transmission Control Protocol / Internet Protocol (TCP/IP)dir.

Protokoller, a?daki di?er bilgisayarlarla ileti?imi sa?lamak iin 2 tip isme izin verirler. Her bilgisayar, kendisini a?da belirten, karakterlerden olu?mu? bir stringe sahiptir. A?daki bir bilgisayarla ileti?im sa?lamak isterseniz o bilgisayar?n ismini Run diyalog kutusuna yazman?z yeterlidir (Windowsun yerel srcde aramamas? iin ba??na 2 tane backslash (\\) koymal?s?n?z).

Di?er bir ba?lanma yolu da a? adresiyledir. A?lar, isimleri adreslere e?lemek iin zel servisler kullan?rlar. Bunlardan en yayg?nlar? Internette kullan?lan Domain Name System (DNS) ve Windows alt?nda al??an Windows Internet Name Service (WINS)tir. E?er bunlar al??mazsa ba?lanaca??n?z bilgisayar?n adresini bilmeniz gerekir.

SORGULAMA ARACINI KULLANMAK

Btn veri tabanlar? de?i?ik tipte sorgulama arac? sunarlar. Windows alt?nda al??an btn sorgulama aralar? baz? yayg?n zelliklere sahiptir. Hepsi de ba?lad?klar?nda veritaban?yla ba?lant?y? sa?lamak iin ba?lant? diyalog kutusunu ekrana ?kar?r. Her bir ba?lant? penceresi 2 paradan olu?ur: Birisinde SQL sorgusunu yazars?n?z, di?erinde de sorgulaman?n sonucunu grrsnz.

SQL Server?n Query Analyzer arac?nda ba?lant? diyalog kutusunda 3 tip bilgi vard?r: Birincisi, server?n ismi (adresi de kullan?labilir). ?kincisi, e?er server durdurulmu?sa yeniden ba?lat?l?p ba?lat?lmayaca??. Sonuncusu da sizi do?rulamak iin kullan?c? ad? ve ?ifre.

Genel olarak Windows alt?nda veritaban?na ba?lant? iin 2 yntem vard?r: ODBC kullanmak veya OLE DB kullanmak. (SQL Server Query Analyzer her iki yntemi de desteklemektedir.)

ODBCY? KULLANMAK

Her veritaban? sat?c?s?n?n veritaban?na ba?lanmak, login olmak ve sorgu yollamada kendine has arac? vard?. Kurumlar iin kar???kl?ktan dzenin daha anlaml? oldu?u d?nlm? ve Microsoft ile byk sat?c?lar Open Database Connectivity (ODBC) ad? verilen stratejiyi geli?tirmi?lerdir.

ODBC, kullan?c? taraf?nda veritaban?na ba?lanmak iin standart bir yol, i?letim sistemi taraf?nda her sat?c?ya veritaban?n?n ihtiyalar?n? kar??lamak iin kullan?c? taraf?ndan sa?lanan bilgiyi evirmeye izin veren uygulaman?n bir katman? haline geldi.

Denetim Masalar?ndan ODBC appletini at???n?zda diyalog kutusunun 3 sekmesini ayarlama ihtiyac? duyars?n?z.

Veritaban?na ba?lant? kurarkenki ilk sorunuz bu 3 sekmeden hangisini kullanaca??n?z olacakt?r. Ba?lanmak iin Data Source Name (DSN) olu?turman?z gerekir. E?er bir kullan?c? User DSN olu?turmu?sa bu DSN login olmu? kullan?c?y? ba?lar. E?er siz login olmu?san?z veritaban? ba?lant?s?na eri?ebilirsiniz. E?er ben login olmu?sam sizin olu?turdu?unuz User DSNe eri?emem. User DSNler, de?i?ik kullan?c?lar?n ayn? bilgisayar? payla?mas?, fakat de?i?ik veri kaynaklar?na eri?mesi gerekti?inde kullan?ma uygun olan bir durumdur.

Bir System DSN, z?tt?na, sisteme ili?kilendirilmi? veri kayna?? sa?lar. Veritaban?na herhangi bir ki?i kendi kullan?c? ismiyle login olabilir.

File DSNler dosyalarda tutulur ve sonu olarak ta??nabilir apraz sistemlerde file DSNi ba?ka bir sisteme ta??mak sadece dosyay? kopyalamaktan ibarettir. File DSNler ok kullan??l?d?r. Ayr?ca bunlar? Notepadle a?p ba?lant? stringinin btn blmlerini kontrol de edebilirsiniz.

DSN olu?turma i?lemi her 3 olayda da benzerdir. Biz rnek olmas? a?s?ndan bir System DSN olu?turaca??z. ?u ad?mlar izlenir:

1. Ba?lant?n?z iin kullanaca??n?z srcy sein (Biz SQL Server? setik) ve Finishe t?klay?n.

2. Ba?lant?n?z iin isim giriniz. ?smi, ilerde veri kayna??na ba?lan?rken kullanacaks?n?z.

3. ?ste?e ba?l? olarak tan?mlama girebilirsiniz.

4. Ba?lanaca??n?z server? sein. ?sim yazabilece?iniz gibi drop-down listten de seebilirsiniz.

5. Kullanmak istedi?iniz gvenlik dzenini seiniz. Windows NT gvenli?i varsay?land?r ve size Windows NT kullan?c? ismini kullanman?za olanak tan?r. Bu dzende alan?n?za bir kez girdi?inizde SQL Servera ba?lanman?za gerek kalmaz. SQL Server gvenirlili?ini seerseniz veritaban? yneticisi taraf?ndan olu?turulmu? olan kullan?c? ad? ve ?ifreyi girmek zorunda olursunuz.

6. Bir sonraki diyalog kutusu, baz? zel parametreleri ayarlaman?za izin verir. Veritaban? yneticisi size aksini bildirmedike varsay?lan de?erleri kullan?n?z. De?i?tirebilece?iniz de?er rne?in, listeden seebilece?iniz varsay?lan veritaban? olabilir.

7. Son diyalog kutusu size daha ince ayarlar yapman?za imkan tan?r. Veritaban? oturumunuz iin log dosyalar?n? ayarlayabilir, varsay?lan ?ifreleme dzene?ini de?i?tirebilir veya sistem iin kulland???n?z dili de?i?tirebilirsiniz. Genelde varsay?lan de?erleri de?i?tirmenize gerek kalmaz. Finishe t?klay?n.

8. Son diyalog kutusu, ba?lant? iin kullanaca??n?z ayarlar?n bir zetini olu?turur. En nemli (kritik) kontrol Test Data Souce d?mesidir. Ba?lanabilece?inizden emin olmak iin t?klay?n. E?er ba?lanamazsan?z Cancel diyerek ayarlar? gzden geirin. Ba?lant? ayarlar?n? sonland?rmak iin OKe bas?n.

Bu noktada ODBC kullanarak veritaban?na ba?lant? sa?lam?? oldunuz. ?unu unutmay?n ki btn veritaban? sat?c?lar? bu metodu desteklerler.

OLE DBY? KULLANMAK

ODBC, bilgisayar endstrisinin veritaban?na genel eri?imi sa?lamada ilk ad?m?yd?. ??letim sisteminiz iin ODBC srcnz oldu?u zaman veritaban?na ba?lanabilirsiniz. Bununla beraber, i?letim sisteminin servislerini kullanarak ba?lant? ayarlar?n? yapmak zorundas?n?z. Bu da her makine iin ba?lant? ayarlar?n?n ayr? ayr? yap?lmas? anlam?na geliyor. rnek verirsek, 2000 d?mden olu?an bir a?da 2000 defa bu ayrlar?n yap?lmas? gerekir ki bu da pek kolay bir ?ey de?ildir.

Her bir bilgisayar iin ba?lant? ayarlar? yap?lma zorlu?unu a?abilmek iin Microsoft umumi veritaban? eri?im stratejisi zerinde durdu. Distributed Internetworking Architecture (DNA)n?n bir paras? olarak herhangi bir veri kayna??na ba?lant?s?z ba?lant?lar? sa?lamaya karar verdi. DNA iin umumi veri eri?iminin arkas?ndaki kavram, provider olarak bilinen yklenebilen srcyd.

Gerekte siz bir kullan?c?ysan?z ODBC Control Panel Applet haricinde direk olarak ba?lanamazs?n?z. Bununla beraber siz bir programc?ysan?z ba?lanabilirsiniz ve bunu yapmak iin de ODBC ayarlar?n? yapman?za gerek yoktur. Ba?lant? stringi provider?n veritaban? ba?lant?s?n? ba?latmas? iin gerekli btn bilgileri ierir. Bu teknolojiyi uygulamak iin Microsoft, OLE DB ismini seti. OLE DB ba?lant?s? yapmak iin olan programlama teknolojisi ActiveX data objects diye an?l?r.

Bu teknoloji, veritaban?na programlama ba?lant?s? zerine odakland??? ba?lant?n?n nas?l yap?ld???na ?imdilik de?inmiyoruz.

PROGRAMDAN BA?LANMAK

Veritaban?yla kullan??l? bir i? yapmak iin programdan ba?lant?n?n nas?l yap?laca??n? ?renmelisiniz.

Ba?lant? kurmak iin veritaban?na arayz kullanmal?s?n?z. Alak seviyede, makine dili emirleri ba?lant? kurar ve program?n?za veri servisleri sa?lar. Makine dili veya assemblerda yazmak kolay bir i? olmad???ndan dolay? yksek seviyeli dillerde g anla??l?r, kar???k formdaki program yaz?mlar? basit ?ekilde tasarlanm??t?r. Bellekte veri depolamak iin adresleri ve ktkleri ynetmek iin ?unu yazar?z:

Str MyVariable = Hello World

Veritaban?yla ba?lant? kurmak iin zelle?tirilmi? bir arayze ihtiya vard?r. Veritaban? sat?c?lar? bunlar? destekler ve bunlara tipik olarak Application Programmming Interfaces (API) ad? verilir. APIler nispeten alak seviyeli olabilir (program?n?za ba?lant? kurabilece?iniz ve veriye eri?im iin a??rabilece?iniz bir grup C dili fonksiyonlar? gibi). APIler olduka yksek seviyede de olabilirler (Microsoftun halk?n anlayabilece?i bir ?ekle getirdi?i nesneya dayal? arayzler gibi). Alak seviye arayzler h?z sa?larken, yksek seviye arayzler de kolayl?k sa?larlar.

BA?LANTI KTPHANES?N? KULLANMAK

Alak seviye arayze rnek olarak Cde yaz?lm?? ve dosya isimlerinde ODBC ieren bir grup DLL(dynamic-link libraries)de depolanm?? ODBC API? verebiliriz. Tipik olarak bu ktphaneler belirli bir veritaban? eri?im program?yla ili?kilendirilmi?tir.

Bu dosyalarda ierilen fonksiyonlar fazla de?ildir. Bunlar? grmek iin en kolay yol Visual Studio development environmentta ierilen ODBCAPI.BAS? amakt?r.

Usle gre veri taban?na ba?lanmak iin veritaban? i?aretisine veya handlea ihtiya vard?r. Handle elde etmek 2 i?lem ad?m?yla gerekle?tirilir. ?lk nce ba?lant? kurmak iin SQLDriverConnecti a??r?rs?n?z, ard?ndan handle? elde etmek iin SQLAllocHandle? a??r?rs?n?z. Di?er fonksiyonlar imleci ynetmeye, kay?t kmelerini almaya ve saireye izin verir.

Bir kere uygun dahil edilme i?lemini izledi?inizde veriye eri?mek iin fonksiyonlar? a??rabilirsiniz. ODBC a?r?s?n? direk olarak kullanarak veritaban?na ba?lanman?n en kolay yolu SQLDriverConnect fonksiyonunu kullanmakt?r. Bu fonksiyonu kullanmak istiyorsan?z veritaban?na ba?lanmak iin kullan?lacak geerli bir ba?lant? stringine sahip olman?z gerekir. Ba?lant? stringi ODBC ile 2 temel biim al?r. ?lkinde src ismini ve server ismini a?a??daki gibi a?ka belirtisiniz:

DRIVER={SQL Server}; SERVER=AYKUT; UID=sa; PWD=MyPwd; DATABASE=pubs;

Ba?lant? stringinin bu biiminde src ismi parantez iinde yaz?l?r. Server ad? ve ek ba?lant? bilgileri dz yaz?yla yaz?l?r. Di?er biimde, ODBC Control Panel appletini kullanarak kurdu?unuz DSNin ad?n? kullan?rs?n?z. Bu biim ?u ?ekilde gzkr:

DSN=MyRemote; UID=sa; PWD=;

Bu durumda veritaban? server?n ve varsay?lan veritaban?n?n ismi DSNde ierilir. Siz sadece DSNle ba?lant? olu?tururken kullanaca?? kullan?c? ad? ve ?ifreyi stringe ekliyorsunuz.

Gerek bir ba?lant? yapmak iin ba?lant? stringini bir string de?i?kende saklamak isteyeceksinizdir. Ard?ndan, SQLDriverConnect fonksiyonunu a??r?rs?n?z ve birka nemli parametre aktar?l?r. A?a??daki Visual Basic kodu, nelerin gerekli oldu?unu gsteriyor:

Dim strConnectionString As String

strConnectionString= Driver={SQL Server}; SERVER=AYKUT; UID=sa; PWD=MyPwd; DATABASE=pubs;

Call SQLDriverConnect(SQL_NULL_HANDLE, Null, strConnectionString, LenB(strConnectionString), vbNullString, 0, 0, SQL_DRIVER_NOPROMPT)

Bu deyimin hepsi ba?lant? kurmak iin gereklidir. ?lki string de?i?ken iin bellekte yer tahsisi yapar. ?kincisi ba?lant? stringini de?i?kene atar. ncs de ba?lant?y? yapar.

SQLDriverConnect birka gizemli parametre gerektirir. ?lki, var olan ba?lant? iin bir handled?r. Var olan bir ba?lant?y? tahsis etmedi?imizde, asl?nda SQLDriverConnecte bizim var olmayan bir ba?lant?y? ona verdi?imiz gere?i ile ba? etmesini anlatan SQL_NULL_HANDLE de?erini ?art ko?mal?y?z. ?kinicisi, a?r? yapan pencerenin handle?d?r. E?er, kulland???m?z pencereyle ili?kilendirilmi? ba?lant? istiyorsak de?er girebiliriz, aksi halde null yazar?z. nc parametre ba?lant? stringinin kendisidir, drdnc parametre uzunlu?udur. 5. 6. ve 7. parametreler yerle?mi? olan bufferdaki bir string buffer al?c?, uzunlu?u ve adresidir. Al?c? bufferlar d?k seviyeli C programlar?nda yayg?nd?rlar. SQLDriverConnect dn? bilgilerini bu de?i?kene yerle?tirir ve bu sayede biz, bizimle hangi fonksiyonlar?n ba?lant? kurmu? olduklar?n? grerek kontrol edebiliriz. Bu rnekte buffer kullanmad?k, o yzden null string verdik. Son parametre ise ba?lant? kurmaya al???rken kaybolan ba?lant? bilgileri iin kullan?c?y? uyar?p uyarmad???n? belirten SQLDriverConnect de?eridir.

Bylece ODBC kullanarak nas?l ba?lant? yap?laca??n? ?renmi? oldunuz.

DAOYU KULLANMAK

Microsoftun veritaban? programc?lar?na sa?lad??? ilk arayz Data Access Objects (DAO) diye an?ld?. Kolay kullan?mlar?ndan dolay? popler oldu. o?u geli?tirici evreler desteklemeye ba?lad?. DAO, size nesne arayz belirten bir referans? projenize eklemenize izin verir.

E?er veriye eri?mek istiyorsan?z veritaban? nesnesini kullanmal?s?n?z.

Microsoft dillerinde nesneleri, de?i?ken gibi deklare ederek olu?turursunuz. Veritaban? nesnesini olu?turmak iin Visual Basicte a?a??daki deyimi yazar?z:

Dim dbMyDatabase As DAO.Database

Burada nesneyi deklare ettik ama kullanmak iin haz?r de?iliz. Instantiate, soyut nesneye fiziksel bir varl?k verir. DAO Veritaban? nesnesini instantiate yapmak iin DAO tip ktphanesinde tan?mlanan metodlardan birini kullan?r?z. DAO, fazla a?klama gerektirmeden kullanmam?za haz?r olan DBEngine diye adland?r?lan nesneyi sa?lar. Bu nesne veritaban? nesnelerini bizim iin instantiate eden OpenDatabase metoduna sahiptir. Visual Basicte herhangi bir nesneyi instantiate yapmak iin Set deyimini kullan?rs?n?z. Veritaban?na DAO ba?lant?s? olu?turmak iin ?u deyimi kullan?n:

Set dbMyDatabase= DBEngine.OpenDatabase(c:\NorthWind.mdb)

Bu, yerel dosyada saklanan veritaban? iin ba?lant? sa?layan en k?sa ba?lant? biimidir. OpenDatabase gerekte 4 parametre alabilir:

* Veritaban? ismi: Veritaban? iin ba?lant? stringini gsteren veya dosyan?n ad?n? veren stringtir.

* Seenekler: Ba?lant? stringindeki kaybolan bilgiler iin kullan?c?lar?n uyar?l?p uyar?lmayaca??n? belirten sabit de?erdir. Mmkn de?erler: dbDriverNoPrompt, dbDriverPrompt, dbDriverComplete (gerekli oldu?unda diyalog kutusunu gsterir), dbDriverCompleteRequired (daha nce belirtilen seenekleri geersiz sayarak gerekli durumlarda diyalog kutusunu gsterir).

* Read-Only: Veritaban? ba?lant?s?n? salt okunur yapmak iin True, okuma-yazmaya a?k yapmak iin False seiniz.

* Connection: Veritaban? ismi parametresinde belirtilmeyen ek ba?lant? bilgilerinin yaz?ld??? string de?erdir.

Btn bilgileri ieren DAO ba?lant? deyimi ?yledir:

Set dbMyDatabase = DBEngine.Open Database(Pubs, dbDriverPrompt, False, DRIVER={SQL Server}; SERVER=AYKUT; UID=sa; PWD=MyPwd;)

ADOYU KULLANMAK

ActiveX Data Objects (ADO), Microsoftun OLE DBye arkada?l?k etmesi iin tasarlad??? yeni veri eri?im stratejisidir. ADO nesneleri veritaban?na eri?im iin de?i?ik bir nesne hiyerar?isi sa?lar. Nesnelerin yap?s? DAOya gre Microsoft Accesse daha az dayal?d?r. Ayr?ca, o?u ki?iler ADOyu veritaban?yla ili?kide bulunmak iin DAOdan daha sezgisel bulmaktad?rlar.

ADO kullanarak veritaban?na ba?lant? kurmak iin geli?tirme projenize referanslar? eklemelisiniz. Bunu yapt?ktan sonra veritaban? ba?lant?s? istiyorsan?z bir ba?lant? nesnesi olu?turmal?s?n?z. Ba?lant? nesnesinin tek ayarlaman?z gereken zelli?i vard?r (Connection string zelli?i). Bu nesnenin ba?lant?y? amak iin a??raca??n?z Open Metodu vard?r. ADOda ba?lant? kurmak iin a?a??daki kodu inceleyelim:

Dim cnnDatabase As ADODB.Connection

With cnnDatabase

.ConnectionString=Provider=SQLOLEDB.1;Persist _

Security Info=False;User ID=sa; Initial Catalog=pubs; _

Data Source=Henrys2000

.Open

End With

Ba?lant? stringini ayarlamak olduka a?kt?r. Btn bilgiler ayn? zellik kmesindedir. Bununla birlikte, ba?lant? stringi biraz de?i?iktir. Burada, Provider?n ismini vermelisiniz. Providerlar OLEDBnin ba?lant? kurmak iin kulland?klar? srclerdir.

Bu kod al??t???nda veritaban?na ba?lant? sa?lam?? olursunuz.

 

SONRAK? SAYFA

Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Salı, 04 Ağustos 2009 17:16 )  
404 Not Found

Server Error

404

Page Not Found

This page either doesn't exist, or it moved somewhere else.


That's what you can do