Hallo Entwickler !!
Habe wieder einmal ein Problem, bei welchem mir Google über die von mir erstellte Suche nichts liefert, was mir direkt hilft.
Ich benötige für ein Dropdown-Feld die Felder einer bestimmten Tabelle des SQL Servers.
Die Tabelle ermittle ich durch eine Abfrage, über diese Information (des Tabellennamens) verfüge ich also.
Die Felder der Tabelle jedoch muss ich ermitteln.
Vorweg gesagt: Ich arbeite momentan noch mit SQL Server 2000- stelle jedoch momentan auf SQL Server 2005 um, und arbeite somit mit der Applikation momentan parallel auf 2 verschiedenen SQL Servern (sowie auf verschiedenen lokalen Rechnern).
Und genau darin liegt der Hund begraben.
Bisher habe ich ganz einfach auf die Systemtabellen des SQL Server 2000 "sysobjects" zugegriffen, mir dort meine ObjektID der jeweiligen Tabelle geholt, und mit dieser dann in syscolumns die jeweiligen Felder ermittelt.
Das war denkbar einfach und hat funktioniert.
Nun habe ich wie angekündigt den Parallelbetrieb mit einem SQL Server 2005 aufgenommen- und darf nun auf eine View namens "objects" sowie "COLUMNS" der master-Datenbank zugreifen, welche strukturell natürlich völlig anders aussehen als meine bisherigen Systemtabellen.
Ich stelle also fest, dass diese Variante- sofern ich die Abfragen auf meine Felder immer schön mit den SQL Server-Erneuerungen anpasse- zwar funktioniert, aber durch den ständigen Anpassungsaufwand nicht praktikabel ist.
Nun zu meiner Frage:
Ich habe gehört, dass man Schemainformationen bzw. Datenbankinfos auch über oledb ermitteln kann. Habt Ihr eine Idee, wie ich derarte Informationen auch anders ermitteln kann? Gibt es dafür irgendwo ein Snippet oder etwas vergleichbares?
Vielen Dank und viele Grüße
Stephan
Habe wieder einmal ein Problem, bei welchem mir Google über die von mir erstellte Suche nichts liefert, was mir direkt hilft.
Ich benötige für ein Dropdown-Feld die Felder einer bestimmten Tabelle des SQL Servers.
Die Tabelle ermittle ich durch eine Abfrage, über diese Information (des Tabellennamens) verfüge ich also.
Die Felder der Tabelle jedoch muss ich ermitteln.
Vorweg gesagt: Ich arbeite momentan noch mit SQL Server 2000- stelle jedoch momentan auf SQL Server 2005 um, und arbeite somit mit der Applikation momentan parallel auf 2 verschiedenen SQL Servern (sowie auf verschiedenen lokalen Rechnern).
Und genau darin liegt der Hund begraben.
Bisher habe ich ganz einfach auf die Systemtabellen des SQL Server 2000 "sysobjects" zugegriffen, mir dort meine ObjektID der jeweiligen Tabelle geholt, und mit dieser dann in syscolumns die jeweiligen Felder ermittelt.
Das war denkbar einfach und hat funktioniert.
Nun habe ich wie angekündigt den Parallelbetrieb mit einem SQL Server 2005 aufgenommen- und darf nun auf eine View namens "objects" sowie "COLUMNS" der master-Datenbank zugreifen, welche strukturell natürlich völlig anders aussehen als meine bisherigen Systemtabellen.
Ich stelle also fest, dass diese Variante- sofern ich die Abfragen auf meine Felder immer schön mit den SQL Server-Erneuerungen anpasse- zwar funktioniert, aber durch den ständigen Anpassungsaufwand nicht praktikabel ist.
Nun zu meiner Frage:
Ich habe gehört, dass man Schemainformationen bzw. Datenbankinfos auch über oledb ermitteln kann. Habt Ihr eine Idee, wie ich derarte Informationen auch anders ermitteln kann? Gibt es dafür irgendwo ein Snippet oder etwas vergleichbares?
Vielen Dank und viele Grüße
Stephan
Comment