Get-TableColumnTypes #
ÜBERSICHT #
Liest die Spaltenstruktur einer SQL-Tabelle über INFORMATION_SCHEMA.COLUMNS und liefert die Strukturinformationen als Hashtable zurück.
SYNTAX #
Get-TableColumnTypes [-Tablename] <string> [-Conn] <__ComObject> [<CommonParameters>]
BESCHREIBUNG #
Diese Funktion ermittelt für eine angegebene SQL-Tabelle alle Spaltennamen, Datentypen, NULL-Zulässigkeit und die maximale Länge bei Zeichentypen (falls zutreffend).
Die Rückgabe erfolgt in Form einer Hashtable, wobei jeder Spaltenname (in Großbuchstaben) als Schlüssel dient, und einem inneren Dictionary mit Typinformationen: Type, Nullable, Length.
Wenn die angegebene Tabelle nicht existiert oder die ADO-Verbindung ungültig ist, wird eine Warnung ausgegeben und $null zurückgegeben.
PARAMETER #
-Tablename #
Type: string
Name der Tabelle, deren Spalteninformationen abgefragt werden sollen (z.B. ADRESSE).
-Conn #
Type: __ComObject
Aktive ADO-Connection vom Typ [System.__ComObject] zu einer EULANDA-Datenbank.
AUSGABEN #
hashtable, void
Strukturinformationen je Spalte, z.B.: @{ 'NAME1' = @{ Type='nvarchar'; Nullable=$true; Length=60 } } Liefert $null, falls die Tabelle nicht existiert oder bei einer ungültigen Verbindung.
BEISPIELE #
# Ermittelt die Spaltentypen der Tabelle 'AUFTRAG' und gibt die Länge des Feldes NAME1 aus.
$meta = Get-TableColumnTypes -Tablename 'AUFTRAG' -Conn $Conn
$meta['NAME1'].Length
HINWEISE #
- Liefert nur benutzerdefinierte Spalten, also keine berechneten Spalten.
- Für weitere Details wie z.B. Default-Werte müsste man mit
INFORMATION_SCHEMA.COLUMNSweitere Abfragen durchführen.