Skip to main content

AccessTr.neT


Access Sql Bağlantısı

Access Sql Bağlantısı

Çözüldü #1
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
.rar xxx.rar (Dosya Boyutu: 22,12 KB | İndirme Sayısı: 3)
Dünya düşünenler için bir komedi, Hissedenler için bir trajedidir ***
Hugh WALPOLE
Cevapla
#2
Access tablosundan otomatik sayı alanını silip tekrar tanımlayın, düzelecek mi kontrol edin.
 İyi olan tek şey bilgi ve kötü olan tek şey de cehalettir. (Sokrates)
Cevapla
#3
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 :
  1. 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));

  2. 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.
Cevapla
#4
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
Dünya düşünenler için bir komedi, Hissedenler için bir trajedidir ***
Hugh WALPOLE
Cevapla
#5
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.
Cevapla
#6
(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.
Dünya düşünenler için bir komedi, Hissedenler için bir trajedidir ***
Hugh WALPOLE
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da