Şimdi Ara

XML veriyi asp ile acces veya MsSQL aktarma hakkında

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
14
Cevap
0
Favori
1.209
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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



  • Konu hakkında fikri olan bir arkadaş var mı?
  • 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.
  • 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 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.
  • 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?
  • Bir miktar bilgi veririm gerisi ücrete tabi olur :) zira devir bilginin para ettiği devir.
  • aynen haklısın mesela triggerla bu işlemi gerçekleştirmek mümkün mü?
  • 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.
  • 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




  • 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 >
  • SQL paket ceya CLR dediğin nedir?
    Ne kadar bir ücret talep ediyorsun?
  • 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.
  • ö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
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.