Veidojot aprakstus datu bāzei, kau apskatītu kādi lauki ir tabulā, skatā, funkcijā (kas atgriež tabulu), lai iegūtu kolonnu sarakstu, var veidot diagrammas, otrs variants ir izmantot sp_help procedūru. šādi:
sp_help 'objektaNosaukums'
vai arī- datu bāzes objektu sarakstu iegūst:
select * from sys.all_objects
select * from sys.all_columns
Pēc tam abus var savā starpā sasiet ar object_id palīdzību un izveidot visu ko nu nepieciešams.
Tas gan nestrādā uz vaicājumiem (gribējās dabūt veidu, kā iegūt šādu sarakstu uz jebkuru vaicājumu).
Piezīmes:
Vispār raksta doma bij pilnīgi savādāka nekā beigās sanāca. Sākotnējā doma bija- jebkuram vaicājumam iegūt kolonu sarakstu ar datu tipiem. Bet nekādā elegantā veidā to neizdevās izdarīt. Ja kāds pateiks kā to var izdarīt būšu priecīgs.
Doma kurā virzijos- kad .Net izveido datu adapteri, var nolasīt shēmu no datu bāzes (reāli nenolasot datus). Tas izskatās apmēram tā (dt- jauna datu tabula bez kolonām, sql- vaicājums):
SqlDataAdapter da = new SqlDataAdapter(sql, this.sqlConnection1);
da.FillSchema(dt, SchemaType.Source);
Paskatoties ar profiler tiek izpildīta sekojoša komandu virkne:
SET FMTONLY OFF; SET NO_BROWSETABLE ON; SET FMTONLY ON;
select * from tabula
SET FMTONLY OFF; SET NO_BROWSETABLE OFF;
Atslēga tajā visā ir „SET FMTONLY ON”- ja šis parametrs ir „ON”, tad vaicājums neatgriež datus, bet tikai shēmu.
Respektīvi- paliku pie secinājuma, ka pa tiešo nav ērta veida, kā iegūt visus rezultātus, bet ar .net programmas palīdzību to tā kā varētu sataisīt..
Nav komentāru:
Ierakstīt komentāru