SQL Server arka uç ile bir PHP uygulama korumak. DB yapısı kabaca şudur:
lot
===
lot_id (pk, identify)
lot_code
building
========
buildin_id (pk, identity)
lot_id (fk)
inspection
==========
inspection_id (pk, identify)
building_id (fk)
date
inspector
result
Veritabanı zaten çok ve binalar vardır ve ben bazı denetimler almanız gerekir. Anahtar noktalar şunlardır:
- Bu bir kerelik bir başlangıç yükü bulunuyor.
- Veriler bir Excel dosyası gelir.
- Excel veri DB autogenerated kimliklerinden habersiz: denetimler onların lot_code aracılığıyla binalara bağlantılı olmalıdır
Bu veri yük yapmak benim seçeneklerim nelerdir?
date inspector result lot_code
========== =========== ======== ========
31/12/2009 John Smith Pass 987654X
28/02/2010 Bill Jones Fail 123456B
Update: How I finally did it
Başkası benzer bir görevi yapmak zorunda durumda, bu veri yükü sonunda gerekli adımlar şunlardır:
Excel dosyasını hazırlayın: vb çarşaf ve sütun başlıkları, uygun isimler vermek, istenmeyen sütunları kaldırmak
SQL Server Import / Export Wizard
(32-bit sürümü, 64-bit sürümü bu özelliği bulunmuyor) ile, her bir yaprak yükleyin (yeni) bir veritabanı tabloya. Sihirbaz uygun DB yapısını oluşturma dahil olmak üzere, kirli bilgi (en) ilgilenir.En sevdiğiniz müşteri ile veritabanına oturum açın. SQL kodlama daha kolay hale getirmek için, ben yeni tabloda bazı ekstra alanları yarattı.
Bir hareketi başlatmak.
BEGIN TRANSACTION;
Yeni oluşturulan tablolarda yardımcı sütunları güncelleyin:
UPDATE excel_inspection$ SET building_id = bu.building_id FROM building bu INNER JOIN ....
Hedef tablo veri eklemek:
INSERT INTO inspection (...) SELECT ... FROM excel_inspection$ WHERE ....
Sonuçlarını gözden geçirin ve her şey yolundaymış eğer işlem taahhüt:
COMMIT;
Mevcut olanlar ile yeni tablolar katılmadan benim durumumda, SQL Server harmanlama çatışmalar hakkında şikayet etti. Bu yeni tabloda uygun bir harmanlama ayarlayarak sabit olduğunu, ancak yöntem farklıdır: SQL Server 2005'te ben sadece SQL Server Manager harmanlama değiştirmek olabilir (Kaydet, tıklayın, tıklayın ve Bitti) ancak SQL Server 2008 ben harmanlama ayarlamak zorunda elle ithalat Sihirbazı ("Edit SQL" düğmesi) içinde.