Logo Güncellemede çikan hata mesaji Microsoft OLE DB Provider for SQL Server Invalid Column Name Uyarısı

10 Nisan 2022 Pazar

Programda Invalid Column Name uyarisi bazi tablolarda olmasi gereken kolonlarin eksik oldugu durumlarda karsimiza çikar. Bu uyarinin asilmasi için yapilmasi gereken islem adimlari sunlardir:

1 – Kolonlarin sorunsuz olusmasi için kullanilan Sql versiyonu ile ilgili veritabani üzerinde sql uyumlulugu ayni olmalidir. Ayni degil ise veritabani üzerinde sag tus Properties /Options/Compabilitiy Level seçenegi ile kullanilan sql versiyonu seçilmelidir. Ardindan sistem isletmeninde firma tanimi üzerinde “Tablolari Sürüme Göre Güncelle” islemi yapilmalidir. Bu islem sonucu datada herhangi bir problem yoksa ilgili alanlar olusturulacaktir.

2 – Asagidaki sorgu ile uyari alinan kolonlar tespit edilip tabloya kolon ekleme sorgusu olusturulabilir.

Sorgu sorunsuz bir veritabaninda çalistirilmalidir. Bunun için test veritabani açilip öncelikle tablolar olusturulmalidir. Test veri tabaninda yapmaniz gereken islem adimlari sunlardir:

  • Asagidaki cursorda Where bölümündeki “Column Name” alaninda hata mesajinda gelen kolon adi yazilmalidir

SELECT ‘ALTER TABLE ‘ + TABLE_NAME +’ ‘+

‘ADD’+’ ‘ + COLUMN_NAME + ‘ ‘ + DATA_TYPE +

CASE WHEN CHARACTER_MAXIMUM_LENGTH = -1 THEN ‘(max)’ WHEN DATA_TYPE in (‘text’,’ntext’) THEN ”

WHEN CHARACTER_MAXIMUM_LENGTH IS NOT NULL

THEN ‘(‘+(CONVERT(VARCHAR,CHARACTER_MAXIMUM_LENGTH)+’)’ ) ELSE ISNULL(CONVERT(VARCHAR,CHARACTER_MAXIMUM_LENGTH),’ ‘) END +’ ‘+

CASE IS_NULLABLE WHEN ‘YES’ THEN ‘NULL’ WHEN ‘No’ THEN ‘NOT NULL’ END

FROM INFORMATION_SCHEMA.COLUMNS

WHERE TABLE_NAME NOT LIKE (‘LV_%’) AND COLUMN_NAME=’xxxxxxxxxx‘

  • Cursor çalistirildiginda dönen sonuçta kolon ekleme sorgusu olusacaktir. Bu sorgu sorun yasanan veritabani için çalistirilmalidir.(Sorgudaki tablonun firma ve dönem bilgileri kullanicinin veritabani tablolarina göre güncellenmelidir) Böylece olusmamis olan kolon bu sorgu vasitasiyla olusturulmus olacaktir.

Bunları da beğenebilirsiniz.