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


Aket-Atum

Öne çıkan mesajlar

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.
Link to comment
Sosyal ağlarda paylaş

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.
Link to comment
Sosyal ağlarda paylaş

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.
Link to comment
Sosyal ağlarda paylaş

  • 2 hafta sonra ...
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?
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...