![]() | |||||||||
ASP ile veritabanından XML formatında bilgi almak. | 28.04.2002 | ||||||||
| Kategori : ASP.NET Özet : Veri aktarımında bir çığır açan XMLin kullanımına yönelik bir başka makale. | |||||||||
Asp ile MS SQL Server’dan Gelen Dataları XML olarak Aktarım Amaç : Dökümanımızın içeriği üç Ana Hatlardan oluşmaktadır.Asp , MS SQL Server ( 7.0 / 2000 ) ,XML ; Bu çalışmadaki amaçımız MS Sql Server dan Gelen dataları Asp ile Çekip XML olarak bağlamak bunu Yapacak bir Asp Programımız ve xml olarak oluşturduğumuz dataları ayrı bir asp sayfası ile dataların bir yerden bir yere aktarımını sağlamak böylelikle veri tabanındaki dataları her hangi bir refresh olmadan kayıtları sayfalayıp isteğe göre kayıtlara ulaşabilme olanağı sağlamaktır.Öncelikle Veri Tabanımızı Yaratalım Bunu Yaparken MS SQL Server 2000 » EnterPrise Manager » Console Root » Microsoft SQL Servers » SQL Server Group » Server Name » Databases » Mouse Sağ Tuş New Database Database Properties General Sekmesinden Database Name Belirleyip Tamam dedikten Sonra Database oluşumumuzu Tamamlıyoruz Bundan sonra oluşan database içerisinde Table oluşumunu gerçekleştirmemiz bunun için Databases dan oluşturduğumuz database üzerine Mouse Sağ tuş ile tıklayıp açılan menude NEW Seçeneğiniz üzerine gelerek diğer bir açılan menude Table Sekmesini Tıklamamızdır bu sekme Açıldığında bize ilk sorulacak Table ismidir ve bunu belirledikten sonra gerekli işlemleri tamamlayıp table mızın oluşumunu bitirmektir İki Field Tanımalayalım diyelim Bunlardan biri Ad diğeri ise Soyad olsun
Şeklinde veri tabanımızın Kabaça Taslağınız oluşturmuş oldu Sayfa 1 : XML.Asp Programımızın içerik Kodunu inceleyelim <%@ Language=VBScript %> <% Dim Data_Path,Objconn,Objrs,Conn_Str ‘Data_Path=Server.MapPath("veri.mdb") ‘Conn_Str_1="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Data_Path ‘ MS Access DRIVER String’i ‘Conn_Str_2="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Data_Path ‘Jet OLEDB Bağlantı String’i ‘MS SQL Server Bağlanti Stringleri Desteğe göre Seçenek ‘Conn_Str_3="Provider=SQLOLEDB;Data Source=Sunucu_name;Initial Catalog=Database_ismi;UID=Sa;PWD=1234567;Network Library=dbmsvinn" ‘Conn_Str="Provider=SQLOLEDB;Data Source=Sunucu_name;Initial Catalog=Database_ismi;UID=Sa;PWD=1234567;" Conn_Str="DRIVER={SQL SERVER };SERVER=Sunucu_ismi;DATABASE=veri;UID=sa;PWD=1234567" Set ObjConn=server.CreateObject("ADODB.Connection") ObjConn.Open Conn_Str SQLim="Select * From kisiler" Response.ContentType="Text/XML" Set ObjRs=Server.CreateObject("ADODB.Recordset") ObjRs.Open SQLim,ObjConn,1,3 Dim i Response.Write "<?xml version=""1.0"" encoding="iso-8859-9"?>" Response.Write "<kisiler>" Do While Not ObjRs.EOF Response.Write "<kisi>" For i = 0 to ObjRs.Fields.Count - 1 Response.Write "<" + ObjRs.Fields(i).Name + ">" Response.Write Server.HTMLEncode(trim(cstr(ObjRs.Fields(i).Value))) Response.Write "</" + ObjRs.Fields(i).Name + ">" NEXT Response.Write "</kisi>" ObjRs.MoveNext Loop Response.Write "</kisiler>"
ObjRs.Close ObjConn.Close Set ObjRs=Nothing Set ObjConn=Nothing %> Kodumuzun Derlenmiş Hali XML.Asp <?xml version="1.0" encoding="iso-8859-9"?> <Kisiler> <kisi> <ad>İlhan</ad> <soyad>Mansız</soyad> </kisi> <kisi> <ad>Tümer</ad> <soyad>Metin</soyad> </kisi> <kisi> <ad>Ahmet</ad> <soyad>Dursun</soyad> </kisi> </Kisiler> XML.Asp Kod içeriğinin Açıklaması : Data_Path=Bu değişken ile Server Taraflı verinin yolunu belirtiyoruz Conn_Str_1=Driver’lı MS Access Bağlantı string’i Conn_Str_2=Microsoft Jet Bağlantı String’i Cümlesi Conn_Str_3=MS SQL Server OLEDB bağlantı string cümlemiz Provider SQLOLEDB; UID=user name » User ID diyede belirtilir UID=Sa ; MS SQL Server ilk kurulumunda aktarılan kullanıcı ismidir PWD=password kullanıcının belirlediği şifre , Network Library Burası şimdilik biraz kafa karıştırabilir Network ortamlı İntranet Projelerinde kullanılan Network Kütüphanesi isimleri olarak adlandırılır.Yani; Win32 Network Libraries : Network Library | Library Name TCP / IP dbmssocn MultiProtocol( RPC ) dbmsrpcn Named Pipes dbnmpntw NWLink IPX / SPX dbmsspxn Yukarıda Win32 Ağ Kütüphane listesi Farklı Referans Değerlerinin bir kısmını içermektedir.Şimdilik Bizim Kullanacağımız Bağlantı stringimiz DRIVER SQLOLEDB…. Yukarıdaki Kodta bize Farklı Gelen kısımları Açıklayacak olursak Response.ContentType burada bizim kodumuzun içerik tipinin belirtiyoruz kodumuzun yapmış olduğu derlemede bir xml yapısına dönüşeceği için içerik tipinin text/xml olarak belirtiyoruz.Daha sonra normal bir Asp çalışmasından Aşina olduğumuz değimlerimizi ve dögülerimizi Kullanarak kodumuzu işleme tabi tutuyoruz. Bütün bunların Tamamladıktan Sonra İkinci Adım olan Veri lerin Çekileceği Asp Sayfamızı Yaratıyoruz Kodumuz Şu şekilde olacak <HTML> <HEAD> <meta http-equiv="Content-Language" content="tr"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1254"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-9"> <TITLE>ASP ile MS SQL SERVER dan Gelen Verileri XML olarak Aktarım « Sayfalama »</TITLE> </HEAD> <BODY> <XML id="data" SRC="xml.asp"></XML> <TABLE width="350" cellpadding="0" cellspacing="0" id="veri" DATAPAGESIZE="3" DATASRC="#data"> <TR> <TH>Kişi ismi</TH><TH>Kişi Soyad</TH> </TR> <TR> <TD><span DATAFLD="ad"></span></TD><TD><span DATAFLD="soyad"></span></TD> </TR> </TABLE> <input type="Button" value=" «« Geri" onclick="veri.previousPage()"><input type="Button" value="Ileri »»" onclick="veri.nextPage()"> </BODY> </HTML> Microsoft’un büyük Gözdelerinden biri olan XML’in Asp ile ilişkisel yanlarına değindik ve Database olarak büyük Platformlarda kullanılan ( Projeler ) MS SQL Server bağlantı yanlarını Gözden Geçirmiş olduk. | |||||||||
Yazgelistir.com | |||||||||