Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

OLE kullanmadan Excel'i Sql için datasource olarak kullanma


Öne çıkan mesajlar

Mesaj tarihi:
1516 satırlık bir excel dosyası var.

DB'de bir tabloyu buna göre update edeceğim ya da olmayan satırları insert.

Lead diyor ki "asla ama asla OLE istemiyorum".

Her satır içni ayrı ayrı insert ya da update demiş ya da datayı bir temp tabloya al oradan update et. OLE olmadan temp tabloya Excel'den nasıl data alınır bilmiyorum. Diğer yolda da 1516 tane insert ya da update'i elimle yazmamı beklemiyordur sanırım, bir yolu vardır heralde bu işin.

Bilen biri varsa ben küfrederken yazarsa sevinirim.
Mesaj tarihi:
senko'nun dedigi gibi dummy table olustur bi tane, XML ya da CSV'den import et, sonra table to table insert/update yap. En kolayi oyle olur.
Mesaj tarihi:
CSV benim de aklıma geldi de, tablodaki bir kolonda ".", "," , ";" ve "|" dahil her türlü ayraç kullanılmış. CSV olarak aldığımda o ayraçlardan doalyı patlıyor.

Gerçi sanırım bizim lead datayı import etmemi de istemiyor, bu adam ne istiyor cidden anlamadım.
Mesaj tarihi:
o ne lan öyle
o zmn java excel kütüphaneleri var, onlarla satır satır oku
jdbc ile db'ye git.

lead db'ye de erişmemi istemiyor dersen bakarız başka bir çözüme sdf
Mesaj tarihi:
senko said:

aynı kütüphaneler perl python için de var.


java apache poi var.


o degilde soyle bi proje bulduydum gecen : http://tamc.github.io/excel_to_code/ bayaa guzel duruyo.

buradaki problemi cozer belki.
Mesaj tarihi:
pulkas said:

senko said:

aynı kütüphaneler perl python için de var.


java apache poi var.


o degilde soyle bi proje bulduydum gecen : http://tamc.github.io/excel_to_code/ bayaa guzel duruyo.

buradaki problemi cozer belki.


hah apache poi, çok yaşa. aklıma gelmediydi yazarken
Mesaj tarihi:
Aket-Atum said:

Her satır içni ayrı ayrı insert ya da update demiş ya da datayı bir temp tabloya al oradan update et.


Bana script verme, ya icinde INSERT ve UPDATE'ler olan SQL dump ver ya da temp table'i goster aha hepsi burda diye.

Ordan da INSERT INTO (SELECT ... FROM temp_table) ON DUPLICATE KEY UPDATE ... diye gidicen muhtemelen.
Mesaj tarihi:
Aket-Atum said:

CSV benim de aklıma geldi de, tablodaki bir kolonda ".", "," , ";" ve "|" dahil her türlü ayraç kullanılmış. CSV olarak aldığımda o ayraçlardan doalyı patlıyor.

Gerçi sanırım bizim lead datayı import etmemi de istemiyor, bu adam ne istiyor cidden anlamadım.


diğer mesajları okumadım, ama eğer bütün ayraçlar kullanılmışsa basitçe kullanılan ayraçlara geçeici bir değer atayabilirsin. örneğin ";" bunları "&noktalivirgul" diye replace edip ardından CSV'a gerekli çevirip, yapmak istediğin updateleri vs yap ardından bütün işlemlerin bittikten sonra "&noktalivirgul" stringini yeniden ";" ile replace edebilirsin.
  • 2 hafta sonra ...
Mesaj tarihi:
La 1500 satır için ETL programı mı kullansın adam, bi hoşsunuz siz de.

Emivoz'un dediği dediği doğru cevap.

Excel'i csv'ye çevirirken zaten her hücreyi " " arasına alacaktır. "lar arasındaki , veya ;'ün önemi yok. Bu nedenle her hücredeki "ı #$çifttırnak#$ ile replace et. Sonrası zaten kolay.

Sonrasında Perspective'in dediğini de yapabilirsin, ama sanırım + ile birleştirmenin bir sınırı var. Bu nedenle concat ile birleştir. Sonra al insert'leri, temp bir tabloya yaz.
O bittikten sonra zaten db'de ikisini halledersin.

Eğer db'de external table özelliği varsa statement'ları sen yazmak zorunda da kalmazsın.

Bir de db'nin türüne göre doğrudan Excel'i import edebiliyor da olabilirsin; işlemeden. Hangi DBMS bu?
×
×
  • Yeni Oluştur...