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
AD
SOYAD
İlhan
Mansız
Tümer
Metin
Ahmet
Dursun
Ş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>
<ad>Tümer</ad>
<soyad>Metin</soyad>
<ad>Ahmet</ad>
<soyad>Dursun</soyad>
</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>
<TD><span DATAFLD="ad"></span></TD><TD><span DATAFLD="soyad"></span></TD>
</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.