9

yüzden bu sevimli papatya zinciri var:Azure SQL Tablo -> SQL Server Görünüm -> Bağlantılı Erişim tablosu: güncelleştiremezsiniz

  • bir Azure SQL veritabanında bir tablo (tblAzure)
  • Bir Görünüm parçalar tek tek çalışmak rağmen yerel bir SQL Server veritabanı tblAzure (vwSQL) vwSQL (tblAccess) işaret Erişim
  • bir bağlantılı tablo için

, ben Access Azure tablosunu güncelleştirmek olamaz.

Veritabanları arasındaki bağlantı ayrı ayrı düzgün çalışır. VwSQL'e değerler ekleyerek tblAzure'ı güncelleyebilirim. SQL Server'daki tabloları bağlantılı Access tabloları üzerinden veya hatta tablolar oluşturarak ve onlara bir görünüm oluşturarak ve Access'e bu görünümü bağlayarak da güncelleyebilirim. Ayrıca, Access'te bağlantılı bir tablo olarak açılan vwSQL aracılığıyla tblAzure değerlerini de görebilirim.

Bu

Ben güncellemek veya bağlantılı görünümünü eklemek çalıştığımda geri almak hatadır:

ODBC - Bağlantılı bir tablo 'tblAccess' üzerine yerleştirin başarısız oldu.

[Microsoft] [ODBC SQL Server sürücüsü] [SQL Server] döndürdü mesajın "parametresi yanlış.:" "AZW" OLE DB sağlayıcı bağlantılı sunucu için "SQLNCLI11". (# 7412)
[Microsoft] [ ODBC SQL Server Sürücüsü] [SQL Server] OLE DB sağlayıcı "SQLNCLI11" bağlantılı sunucu "azw" için bir hata bildirdi. Sağlayıcı tarafından bir veya daha fazla argüman geçersiz olarak bildirildi. (# 7399)
[Microsoft] [ODBC SQL Server sürücüsü] bağlantılı sunucu "AZW" için OLE DB sağlayıcı "SQLNCLI11" bir dağıtılmış hareket başlamadan edemedi çünkü [SQL Server] işlemi gerçekleştirilemedi. (# 7391)

Herkes böyle bir şey görmüş? Bağlantı özelliklerini/Sunucu Seçenekleri/Dağıtıcı'yı True olarak değiştirmeyi denedim, yardımcı olmadı.

temel fikir ben gayet hem veritabanlarında senkronize edilir tablo ve Access'te kullanıcılarımız tarafından düzenlenebilir ihtiyacım olmasıdır.

CREATE TABLE [dbo].[AzureTable](
    [AzureTableID] [int] NOT NULL, 
    [SomeText] [nvarchar](50) NULL, 
CONSTRAINT [PK_AzureTable] PRIMARY KEY CLUSTERED ([AzureTableID] ASC) 
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) 
) 
GO 

INSERT dbo.AzureTable VALUES (1, N'Hello') 

SQL Server:


Testi komut Azure'de yılında

(... Bir yol çok overcomplicated sistem miras, sorma)

012.320 (AZW bağlı Azure sunucunun adını, HUFU DB)

Bu da çalışıyor.

Erişim, ben görünümü (ı, hepsi işi çok diğer bağlantılı tablolar ve görüşlere sahip) bağlarsınız. Access bağlantılı tablonun açılması (SQL server görünümüne işaret eder), verileri gösterir, ancak yukarıda belirtilen hatayı görüntüleyen değişiklikleri kaydedemez. Burada neyin yanlış olduğunu anlamak için isterdim,

Aslında şimdi bir çözüm var, ama bu şey beni dinletiyor ...

+0

İlginç kurulumu:

Bu

ben PK oluşturmak için kullandığınız Uzun bir PK ve bir Varchar (50) sütun? – Andre

+0

@Andre 'int' PK'yi Access'in SQL Server'ın' long'unu kullanamayacağı şekilde kullanıyorum, ancak bunu aldığımda ve rapor verdiğimde çok basit bir tablo deneyeceğim, fikir için teşekkürler. – vacip

+0

@Andre Çok basit bir kurulum oluşturdum ama aynı hatayı alıyorum. Komut dosyalarını sorularıma biraz ekleyeceğim. – vacip

cevap

1

Bunun sizin durumunuza uygulanacağından emin değilim, ancak MS Access'ten bir SQL Server Görünümü'nü güncelleyemediğim son kez çözüm, görünümü temsil eden Access bağlantılı tablonun bir birincil anahtara sahip olduğundan emin olmaktı. Eğer çok basit bir masa, mesela aynı deneyebilirsiniz, sorunlu veri türlerini ekarte etmek - p:

CurrentDb.Execute "CREATE INDEX __uniqueindex ON [" & TableName & "](" & PKFieldName & ")" 
+1

Hmm, orijinal tablonun bir dizini var, ancak görünümlerim için bir dizin belirtebilirim ve geri bildireceğim ... Fikir için teşekkürler. – vacip

+1

Şey, farklı bir veritabanında bir tablo başvuran bir görünümde bir dizin oluşturamıyorum ortaya çıkıyor. Bir görünümü indekslemek için, şemaya bağlanmalıyım, ancak şema ciltleme sadece aynı veritabanında çalışır. Aylak. – vacip