Arama butonu
Bu konudaki kullanıcılar: 1 misafir
13
Cevap
1259
Tıklama
0
Öne Çıkarma
XML veriyi asp ile acces veya MsSQL aktarma hakkında
L
11 yıl
Yüzbaşı
Konu Sahibi

Merhaba Arkadaşlar,

Asp ile yapılmış bir sistem için xml dosyasında her hafta veritabanına veri aktarımı olacak, bir çok alanını düzelttim fakat xmldeki veriyi kod ile veritabanına aktaramadım.
konu ile ilgili fikri olan biri var mı? Yardımlarınız için şimdiden teşekkürler



L
11 yıl
Yüzbaşı
Konu Sahibi

Konu hakkında fikri olan bir arkadaş var mı?


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

normal kayıt yapar gibi xml datasını kaydedin, sadece xml sutun tanımı yapmanız lazım bu islem icin birde 2012 ve sonrası icin destek var xml sutunlarına mssql de.


Bu mesaja 1 cevap geldi.
L
11 yıl
Yüzbaşı
Konu Sahibi

MsSQL xml bloglarının kayıtlarını yaptık fakat bunun yapılması yetmiyor; bu xml her zaman güncellenmesi gerekiyor; bu durumu xml ile değilde xml excelde açılabildiğini fark ettik bu şekilde kod ile yükleme yapmak daha kolay oldu? yararı olur belki diye kodu paylaşıyorum. fakat yükleme uzun oluyor.


Kodlar aşağıdaki gibidir.


<%
Server.ScriptTimeout=100000
'Script Timeout olmaması için
%>

<%
'Veritabanı bağlantısı
%>
<%
'Code to display data from the current text-based logfile
Dim objFSO, oInStream, sLine, RowArray, bulkCSVFileName, Path

'Define the constants used by the FSO
Const Forreading = 1

'Create an instance of the FSO
Set objFSO = CreateObject("Scripting.fileSystemObject")

'Check the file exists

If objFSO.fileExists( Server.MapPath ( "csv/urun.csv" ) ) Then
'Open a file for reading
Set oInStream = objFSO.OpenTextfile( Server.MapPath( "csv/urun.csv" ), Forreading, False )

'Go past the first line that contains Column header. Else comment the next line of code.
sLine = oInStream.readLine

Do Until oInStream.AtEndOfStream
sLine = oInStream.readLine
RowArray = Split( sLine, ";" )

Response.Write "<b>Stok ID</b>: " & RowArray(0)
Response.Write "<b>Ürün Adı</b>: " & RowArray(1)
Response.Write "<b>Üst Kategori</b>: " & RowArray(2)
Response.Write "<br>"


Set icerik= Server.CreateObject("ADODB.Recordset")
SQL = "Select * from StokBilgisi"
icerik.Open SQL,Sur,1,3

icerik.addnew
icerik("Aciklama")=RowArray(0)
icerik("AnaStokKodu")=RowArray(1)
icerik("BarkodKodu")=RowArray(2)
icerik.update
icerik.close
set icerik=nothing


Loop
Response.Write("Liste Eklendi...")
oInStream.Close
Set oInStream = Nothing
Else
Response.Write "Dosya Bulunamadı!"
End If
Set objFSO = Nothing
%>


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

bu sekilde degilde xml kolonu acarak direk sql server icine kaydedin, almak icinde yine SP kullanın gerekli kırılımları xquery ile yada sql ile alın yada clr yazın sql paket ilede otomatik istediginiz zamanlarda guncel xml ceksin-yazsın siz programdan kırılımları alırsınız.


Bu mesaja 1 cevap geldi.
L
11 yıl
Yüzbaşı
Konu Sahibi

veritabanı ile ilgili çok bir bilgim yok; ancak yazılım ile verileri kontrol etmek için kullanıyorum;bahsettiğiniz şekilde nasıl yapabiliriz yardım edebilir misiniz?


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

Bir miktar bilgi veririm gerisi ücrete tabi olur :) zira devir bilginin para ettiği devir.


Bu mesaja 1 cevap geldi.
L
11 yıl
Yüzbaşı
Konu Sahibi

aynen haklısın mesela triggerla bu işlemi gerçekleştirmek mümkün mü?


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

triggerlik bir konu yok olsa bile zorlama olur.Sql içinden zamanlama yada dısardan zamanlama en güzel çözüm.Xml nerden geliyorsa bir havuza gelir ordan sql içine alınır otomatik.Çalıştığım bir firmada kisi sayaclarının saatlik xml verisi ftp ye geliyordu ordan dısarda çalışan bir program sql icine kırılımlı şekilde atıyordu ,buda zahmetli daha uygunu clr yazmak yada paket ile zamanlama yaparak direk iceri almak.


Bu mesaja 1 cevap geldi.
L
11 yıl
Yüzbaşı
Konu Sahibi

ufak bir örnek istesem ayıp etmiş olmam dimi

xml aşağıdaki yapıda var saysak


<?xml version="1.0" encoding="iso-8859-9"?>
<Kategoriler>
<Kategori>
<UstKatID>0</UstKatID>
<KatID>1000</KatID>
<KategoriAdi>Kategor1</KategoriAdi>
<Pasif>0</Pasif>
</Kategori>
<Kategori>
<UstKatID>0</UstKatID>
<KatID>1002</KatID>
<KategoriAdi>kategori2</KategoriAdi>
<Pasif>0</Pasif>
</Kategori>

</Kategoriler>


Mssql deki tablo ve veriler desek

tablo adı : kategori
sutun isimleri:UstKatID, KatID,KategoriAdi


yukarıdaki bilgilerle senin söylediğin şekilde nasıl bir işlem yapılabilir? tabi zahmet olmazsa teşekkürler şimdiden


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

sql paket ile yada clr ile iceri alıp xml data query ile yada sql data query ile kırılımını sp icinde yapıp kolonlara atman lazım.Diger turlu isler sunum katmanında yuk olur, bu isleri data katmanını yıkman gerekir tabi sql severin baska islerle cok yogun ise bunu farklı bir sql uzerinde yapıp gercek yerine atabilirsin.Zamanlamayıda kafana takman gerekmez bu tarz calısırsan.
Burda yolu ancak diyebilirim gerisi ücreti mukabili olur :) paran varsa bu iş icin bir iki gün içinde yepıp teslim ederim.





< Bu mesaj bu kişi tarafından değiştirildi fsh77 -- 29 Kasım 2014; 18:57:41 >
Bu mesaja 1 cevap geldi.
L
11 yıl
Yüzbaşı
Konu Sahibi

SQL paket ceya CLR dediğin nedir?
Ne kadar bir ücret talep ediyorsun?


Bu mesaja 1 cevap geldi.
F
11 yıl
Yarbay

clr 500 paket 400 e olur.Clr sql ile veri alıs verisi icin C# kodudur sql server icine gomulur, paket ise SSIS ile zamanlamalı olarak veri ceker.


Bu mesaja 1 cevap geldi.
D
11 yıl
Yarbay

önce xml verisini parse et dataset içine al, sonra sql command builder falan kullanarak doğrudan tabloyu update edersin, tonlarca örnek var ortalıkta dataset-sql arası aktarımla ilgili



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.