access'de var olan bir tabloyu
Sql server'e taşıdığımızda otomatik sayı alanını ( identity specification / is identy özelliğini yes ) olarak değiştiremiyorum. Herhangi bir basit tabloyu export ettim sql'e ancak kayıt ekleyemiyorum ne
Access bağlı tablodan ne de
Sql server'dan nerede hata yapıyorum..?
örnek eklemedim
Access tablosundan otomatik sayı alanını silip tekrar tanımlayın, düzelecek mi kontrol edin.
Access’ten tablonuzu
Sql Server’a export ederken otomatik sayı alanı
Sql Server'da Identity özelliğiyle eşlenmediği için sorun yaşıyorsunuz ve kayıt ekleyememenizin nedeni de bu.
Access tablolarınızdaki AutoNumber alanı
Sql Server'a aktarılırken bu alanın Identity olarak belirlenmesi gerekir lakin çoğunlukla bu ayarın taşınması sırasında manuel bir işlem yapmanız gerekebilmektedir.
SQL Server Management Studio (SSMS(' yu açın ve tablonuzu düzenlemek için sağ tıklayıp Design (Tasarım) seçeneğini seçin ve Accessdeki otomatik sayı alanınızı bularak bu alanın özellikler kısmında Identity Specification özelliğini Yes yapın. Is Identity: Yes olarak ayarladığınızda, bu alan otomatik olarak sayılır ve her yeni kayıt eklendiğinde bu alan değeri bir artar. Ancak SSMS üzerinden tabloyu tasarım ekranında değiştiremiyorsanız :
- Yeni tablo oluşturup Identity tanımlayın. Bunu aşağıdakine benzer bir Sql kodu ile yapabilirsiniz
CREATE TABLE YeniTablo (ID INT IDENTITY(1,1) PRIMARY KEY,
Ad VARCHAR(100),
Soyad VARCHAR(100));
- Bu adımda eski tablodan verilerinizi oluşturduğunuz yeni tabloya
INSERT INTO YeniTablo (Ad, Soyad)
SELECT Ad, Soyad FROM EskiTablo;
gibi Sql kodu ile aktarın ve sorunsuz aktarım sonrasında eski tablonuzu drop ile silerek oluşturduğunuz yeni tablonuzu mimari ve algoritmanıza uygun şekilde eski tablo adınızı alacak şekilde
DROP TABLE EskiTablo;
EXEC sp_rename 'YeniTablo', 'EskiTablo';
kodu ile yeniden adlandırabilirsiniz. Bu işlemler sonunda Sql Serverdaki tablonuzun Identity özelliğindeki sorunu aşmış olacağınızdan Accessde bağlı tablo olarak doğru yapılandırmışsanız sorunsuz olarak kullanmanız gerekir.
sayın atoykan konuyu gayet iyi anlamış ve çözümlemişsiniz ancak
tablomda 100'e yakın alan ismi var 225 bin kayıt var
sql kodu yazmak tablolara ekleme yaptırmaktan daha pratik bir çözüm yok mu
yani aktarılmış tabloya yeni alan eklediğimde dahi otomatik sayı olmuyor
Hayır bunun daha kolay yolu yok. 225bin kayıt
Sql Server için hiçbir şey.
Imigration işlemleri bu yüzden zahmetli ve pahalı hizmetlerdir. Siz Access'den
Sql servera taşıma işlemi ile en kolay olanını yapıyorsunuz.
(09/09/2024, 20:28)karaayhan yazdı: [ -> ]sayın atoykan konuyu gayet iyi anlamış ve çözümlemişsiniz ancak
tablomda 100'e yakın alan ismi var 225 bin kayıt var
sql kodu yazmak tablolara ekleme yaptırmaktan daha pratik bir çözüm yok mu
yani aktarılmış tabloya yeni alan eklediğimde dahi otomatik sayı olmuyor
pratik çözümü buldum ihtiyacı olan olursa diye paylaşıyorum
Bunu uygulamak için SSMS de kullanılabilir. Araçlar > Seçenekler > Tasarımcılar > "Tablo yeniden oluşturmayı gerektiren değişiklikleri kaydetmeyi engelle" seçeneğinin işaretini kaldırın. BTW bu oldukça büyük tablolar için önerilmez.