MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > SQL
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 11.01.2017, 18:50   #1
Grinface
MOF User
MOF User
Standard T-SQL : MSSQL 2014 - Not NULL oder Check Constaint

Moin,

ich habe eine Access DB mit Hilfe des Migrations Assistenten auf den SQL Server 2014 migriert. Dabei hat der Assistent bei allen Feldern, welche in Access die "Not NULL" Einstellung hatten, im SQL Server eine Check Constaint gemacht (Len(Feld)>0)

Allerdings wird der Constraint bei Dateneingabe in Access (nach wie vor das Frontend, neue Servertabelle ist per ODBC eingebunden) nicht ausgeführt.

Ändere ich manuell das Setting des Feldes der Servertabelle auf Not NULL ohne den Constraint, erhalte ich in Access eine Meldung per ODBC Treiber, dass NULL Werte nicht zulässig sind.

Warum hat also der Assistent das geändert?

Grinface
Grinface ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2017, 08:49   #2
sonic8
MOF Profi
MOF Profi
Standard

Zitat: von Grinface Beitrag anzeigen

ich habe eine Access DB mit Hilfe des Migrations Assistenten auf den SQL Server 2014 migriert. Dabei hat der Assistent bei allen Feldern, welche in Access die "Not NULL" Einstellung hatten, im SQL Server eine Check Constaint gemacht (Len(Feld)>0)

Allerdings wird der Constraint bei Dateneingabe in Access (nach wie vor das Frontend, neue Servertabelle ist per ODBC eingebunden) nicht ausgeführt.

Warum der Assistent die ValidationRule geändert hat, kann ich dir nicht beantworten. - So ein eigenmächtiges Verhalten von Assistenten finde ich immer ärgerlich.

Allerdings sollte die neue Check-Constraint-Regel neben leeren Strings (''), auch NULL-Werte in deinen Feldern verhindern. Siehe:
Code:

SELECT CASE WHEN Len(NULL) > 0 THEN 'Gültige Eingabe' ELSE 'Nix drin im Feld' END AS CheckErgebnis
Bist du sicher, dass du wirklich Datensätze mit NULL-Werten einfügen konntest?
sonic8 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2017, 11:43   #3
Grinface
Threadstarter Threadstarter
MOF User
MOF User
Standard

Zitat: von sonic8 Beitrag anzeigen

Bist du sicher, dass du wirklich Datensätze mit NULL-Werten einfügen konntest?

Ja, gerade noch mal mit einer anderen Tabelle getestet, mit Access als FE feuert der Constraint nicht.
Nur bei direkter Eingabe greift er.

Edit:
Ahhhhhhh, die Feinheiten mit NULL: Ich habe den Constraint erweitert, von Len(Feld)>0 auf Len(ISNULL(Feld,'')>0 und schon greift der Constraint sowohl im SSMS als auch im Frontend. Hätte mich auch gewundert....

Ganz allgemein: Welche Art ist denn zu empfehlen? Not NULL Setting oder Check Constraint?

Grinface
Grinface ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:51 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.