From a2717a06613d96b7934561b68574500d01c8b2b5 Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Wed, 28 Mar 2012 12:00:00 +0200 Subject: [PATCH] (2012-03-28) --- ServerExplorer/Backup/ServerExplorer.sln | 20 ++ ServerExplorer/Backup/ServerExplorer.suo | Bin 0 -> 17408 bytes .../Backup/ServerExplorer/Program.cs | 21 ++ .../ServerExplorer/Properties/AssemblyInfo.cs | 36 +++ .../Properties/Resources.Designer.cs | 71 +++++ .../ServerExplorer/Properties/Resources.resx | 117 ++++++++ .../Properties/Settings.Designer.cs | 30 ++ .../Properties/Settings.settings | 7 + .../ServerExplorer/ServerExplorer.csproj | 107 ++++++++ .../ServerExplorer/frmBaseDatos.Designer.cs | 182 ++++++++++++ .../Backup/ServerExplorer/frmBaseDatos.cs | 94 +++++++ .../Backup/ServerExplorer/frmBaseDatos.resx | 120 ++++++++ .../ServerExplorer/frmPrincipal.Designer.cs | 114 ++++++++ .../Backup/ServerExplorer/frmPrincipal.cs | 33 +++ .../Backup/ServerExplorer/frmPrincipal.resx | 123 +++++++++ .../ServerExplorer/frmServidores.Designer.cs | 216 +++++++++++++++ .../Backup/ServerExplorer/frmServidores.cs | 121 ++++++++ .../Backup/ServerExplorer/frmServidores.resx | 120 ++++++++ ServerExplorer/ServerExplorer.sln | 4 +- ServerExplorer/ServerExplorer.suo | Bin 17408 -> 28160 bytes .../ServerExplorer/CodeGenConfig.cs | 34 +++ .../Properties/Resources.Designer.cs | 68 ++--- .../Properties/Settings.Designer.cs | 30 +- .../ServerExplorer/ServerExplorer.csproj | 50 +++- .../ServerExplorer/ServerExplorer.csproj.user | 13 + .../bin/Debug/ServerExplorer.exe | Bin 19456 -> 27648 bytes .../bin/Debug/ServerExplorer.pdb | Bin 40448 -> 60928 bytes .../bin/Debug/ServerExplorer.vshost.exe | Bin 14328 -> 11608 bytes .../Debug/ServerExplorer.vshost.exe.manifest | 11 + .../ServerExplorer/frmBaseDatos.Designer.cs | 104 +++++-- ServerExplorer/ServerExplorer/frmBaseDatos.cs | 116 +++++++- .../ServerExplorer/frmBaseDatos.resx | 3 + .../frmCodeGenConfig.Designer.cs | 259 ++++++++++++++++++ .../ServerExplorer/frmCodeGenConfig.cs | 86 ++++++ .../ServerExplorer/frmCodeGenConfig.resx | 120 ++++++++ .../ServerExplorer/frmPrincipal.Designer.cs | 107 ++++---- ServerExplorer/ServerExplorer/frmPrincipal.cs | 26 +- .../ServerExplorer/frmPrincipal.resx | 2 +- .../ServerExplorer/frmServidores.Designer.cs | 40 +-- .../ServerExplorer/frmServidores.cs | 23 +- ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 6112 bytes .../obj/Debug/ResGen.read.1.tlog | Bin 0 -> 5288 bytes .../obj/Debug/ResGen.write.1.tlog | Bin 0 -> 5884 bytes ...ServerExplorer.csproj.FileListAbsolute.txt | 12 + .../obj/Debug/ServerExplorer.exe | Bin 19456 -> 27648 bytes .../ServerExplorer.frmCodeGenConfig.resources | Bin 0 -> 180 bytes .../obj/Debug/ServerExplorer.pdb | Bin 40448 -> 60928 bytes .../Properties.Resources.Designer.cs.dll | Bin 0 -> 4608 bytes ServerExplorer/UpgradeLog.XML | 30 ++ .../_UpgradeReport_Files/UpgradeReport.css | 207 ++++++++++++++ .../_UpgradeReport_Files/UpgradeReport.xslt | 232 ++++++++++++++++ .../UpgradeReport_Minus.gif | Bin 0 -> 69 bytes .../UpgradeReport_Plus.gif | Bin 0 -> 71 bytes 53 files changed, 2940 insertions(+), 169 deletions(-) create mode 100644 ServerExplorer/Backup/ServerExplorer.sln create mode 100644 ServerExplorer/Backup/ServerExplorer.suo create mode 100644 ServerExplorer/Backup/ServerExplorer/Program.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/Properties/AssemblyInfo.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/Properties/Resources.Designer.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/Properties/Resources.resx create mode 100644 ServerExplorer/Backup/ServerExplorer/Properties/Settings.Designer.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/Properties/Settings.settings create mode 100644 ServerExplorer/Backup/ServerExplorer/ServerExplorer.csproj create mode 100644 ServerExplorer/Backup/ServerExplorer/frmBaseDatos.Designer.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/frmBaseDatos.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/frmBaseDatos.resx create mode 100644 ServerExplorer/Backup/ServerExplorer/frmPrincipal.Designer.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/frmPrincipal.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/frmPrincipal.resx create mode 100644 ServerExplorer/Backup/ServerExplorer/frmServidores.Designer.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/frmServidores.cs create mode 100644 ServerExplorer/Backup/ServerExplorer/frmServidores.resx create mode 100644 ServerExplorer/ServerExplorer/CodeGenConfig.cs create mode 100644 ServerExplorer/ServerExplorer/ServerExplorer.csproj.user create mode 100644 ServerExplorer/ServerExplorer/bin/Debug/ServerExplorer.vshost.exe.manifest create mode 100644 ServerExplorer/ServerExplorer/frmCodeGenConfig.Designer.cs create mode 100644 ServerExplorer/ServerExplorer/frmCodeGenConfig.cs create mode 100644 ServerExplorer/ServerExplorer/frmCodeGenConfig.resx create mode 100644 ServerExplorer/ServerExplorer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 ServerExplorer/ServerExplorer/obj/Debug/ResGen.read.1.tlog create mode 100644 ServerExplorer/ServerExplorer/obj/Debug/ResGen.write.1.tlog create mode 100644 ServerExplorer/ServerExplorer/obj/Debug/ServerExplorer.frmCodeGenConfig.resources create mode 100644 ServerExplorer/ServerExplorer/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll create mode 100644 ServerExplorer/UpgradeLog.XML create mode 100644 ServerExplorer/_UpgradeReport_Files/UpgradeReport.css create mode 100644 ServerExplorer/_UpgradeReport_Files/UpgradeReport.xslt create mode 100644 ServerExplorer/_UpgradeReport_Files/UpgradeReport_Minus.gif create mode 100644 ServerExplorer/_UpgradeReport_Files/UpgradeReport_Plus.gif diff --git a/ServerExplorer/Backup/ServerExplorer.sln b/ServerExplorer/Backup/ServerExplorer.sln new file mode 100644 index 0000000..b20c15f --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerExplorer", "ServerExplorer\ServerExplorer.csproj", "{79531B74-3062-4A71-9953-5702BEBDEC0E}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {79531B74-3062-4A71-9953-5702BEBDEC0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {79531B74-3062-4A71-9953-5702BEBDEC0E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {79531B74-3062-4A71-9953-5702BEBDEC0E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {79531B74-3062-4A71-9953-5702BEBDEC0E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/ServerExplorer/Backup/ServerExplorer.suo b/ServerExplorer/Backup/ServerExplorer.suo new file mode 100644 index 0000000000000000000000000000000000000000..991825e5d36d363d34499b4b624ac3da0ab6070a GIT binary patch literal 17408 zcmca`Uhu)fjZzO8(10BSGsD0CoD6J8;*1Oo3?K{^5@29pg7W|U|NkE>#=yYve-sR< z5cvE5|9=(+1_n?ZvNAA$Kfq|ca zfkBRefkA+QfkBXgfkB9YfkBpmfkA|UfkBjkfkBLcfkB*sfkA?SfkBdifkBFafkB#q zfk6gpk35uCfYL)Mz=oM)gBbD|@)=4P6c}6?@)$}OiWn+kS(zwWjDZ!N=Rxs~Pt$~y z%FXwA&N4DHFfcfP5(fhVLjXe&Lq0~ol2RRH$4EYQd48dUg%NQ~lk{MD#O7LPO1}1Qx1lbM3cojn>LFG0m&x5$2 ze27#J9g85kH$pnNk11_pBm z1_lcT1_nz81_mnz1_o;e1_m3bJjgr{c3@y&aAaU$aAII!aAsg&aA9CzaAja%aARO# zaA#m(@PMiZg)1#^0*%cl#?8OaphBR>59R@DFO2IBxUu31LuJhd~vg+YhRLK;>=$LkT$i@)+>h4l1iiuYW-8ELi!EZa*ld z^B7VXf*JA|O2Ki2zYb7iU}6Nd(Lv@B>wl1XF;FD{4ub|dq&iTV%3;W5NCT%iSlWZ} z85jo64G@>bFbsqnK&d;KAqSjSQyD;R07nSP1UxE{bP_9uJN;EMc4#;_|EDnIGnC`Zg*psOjG+7kYL^h3{z3hh5U2w{`Mm^O z^5ua`Pf-4Yl(djCIEx{bA(^3s!I>c+To$E*Nko}o#lXY}Y8!#<24SeNcqvr>=QAWT zlrrQpKukvVa{xm=Loq`p-jc|Gfr$}R1B2`aVZ0VYB|&{QQ2P$V#g2Q5S;D}; z@B&n(GYB*Iv2-wTfkpvhnBYSN8=|c^PsCVpf~s17jev3#qoMje7^@k~87vu08H^bW z8Jrl*8B7>-8H^bW7|a-q7<3s-7#tbQ84MY887!fybQw$;%oz+oe(_}}Wyk@C5~$`& z1lMq-3?9z!LA0)sO{07EE)9zz;~6TBvOV#r}g zVL)~dsF??Gj|&6t^atw;xqwYdM2R;TM~{sB4;n83)xjV$K=mA`1ccSLkbIWLkjan^ zuKz&gGpHSt2U3g$gYrKp-GlljAR3Dj3?X4qyBm}m85kJ+8Il;X751NR^>w4(?pF)%TL`~ymd#M%$)E5h0z&I~!=9w^AROomj3a-1a%inVYKsQ(E{ z+aNy?Yd>=NLvn`0kqZ#zIH_q7)Vp*9m$8`)Welkd&J1Y`>EP7L0UmY2ZL&2(EkiJa z3in?}?cReP8*i;TFT6CI--n^-q?e=Sj4baJ*B3Mf{oAn$5?H|u7HJ}f{vDF@Su!_e z-E_J4mLQdZ3JeUB7@Qf%YyDR+6fop~Yb#K10KIQOimV<(GD9�dzD3GR`^}-319t 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 literal 0 HcmV?d00001 diff --git a/ServerExplorer/Backup/ServerExplorer/Program.cs b/ServerExplorer/Backup/ServerExplorer/Program.cs new file mode 100644 index 0000000..56f343c --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace ServerExplorer +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new frmPrincipal()); + } + } +} diff --git a/ServerExplorer/Backup/ServerExplorer/Properties/AssemblyInfo.cs b/ServerExplorer/Backup/ServerExplorer/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..00673fe --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ServerExplorer")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("cyc")] +[assembly: AssemblyProduct("ServerExplorer")] +[assembly: AssemblyCopyright("Copyright © cyc 2012")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("31f76805-336c-471c-8af2-a4c1364e97b9")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/ServerExplorer/Backup/ServerExplorer/Properties/Resources.Designer.cs b/ServerExplorer/Backup/ServerExplorer/Properties/Resources.Designer.cs new file mode 100644 index 0000000..33e5119 --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.3082 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ServerExplorer.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ServerExplorer.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/ServerExplorer/Backup/ServerExplorer/Properties/Resources.resx b/ServerExplorer/Backup/ServerExplorer/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ServerExplorer/Backup/ServerExplorer/Properties/Settings.Designer.cs b/ServerExplorer/Backup/ServerExplorer/Properties/Settings.Designer.cs new file mode 100644 index 0000000..626558f --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.3082 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace ServerExplorer.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/ServerExplorer/Backup/ServerExplorer/Properties/Settings.settings b/ServerExplorer/Backup/ServerExplorer/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ServerExplorer/Backup/ServerExplorer/ServerExplorer.csproj b/ServerExplorer/Backup/ServerExplorer/ServerExplorer.csproj new file mode 100644 index 0000000..f764262 --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/ServerExplorer.csproj @@ -0,0 +1,107 @@ + + + + Debug + AnyCPU + 9.0.30729 + 2.0 + {79531B74-3062-4A71-9953-5702BEBDEC0E} + WinExe + Properties + ServerExplorer + ServerExplorer + v3.5 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + 3.5 + + + 3.5 + + + 3.5 + + + + + + + + + + Form + + + frmBaseDatos.cs + + + Form + + + frmPrincipal.cs + + + Form + + + frmServidores.cs + + + + + frmBaseDatos.cs + + + frmPrincipal.cs + + + frmServidores.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + \ No newline at end of file diff --git a/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.Designer.cs b/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.Designer.cs new file mode 100644 index 0000000..339782d --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.Designer.cs @@ -0,0 +1,182 @@ +namespace ServerExplorer +{ + partial class frmBaseDatos + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.txtConString = new System.Windows.Forms.TextBox(); + this.lblConString = new System.Windows.Forms.Label(); + this.btnCopiarConString = new System.Windows.Forms.Button(); + this.lsvTablas = new System.Windows.Forms.ListView(); + this.colNombreTabla = new System.Windows.Forms.ColumnHeader(); + this.colEsquema = new System.Windows.Forms.ColumnHeader(); + this.colTipo = new System.Windows.Forms.ColumnHeader(); + this.lsvColumnas = new System.Windows.Forms.ListView(); + this.colNombreColumna = new System.Windows.Forms.ColumnHeader(); + this.colTipoDatos = new System.Windows.Forms.ColumnHeader(); + this.colTamanho = new System.Windows.Forms.ColumnHeader(); + this.dataGridView1 = new System.Windows.Forms.DataGridView(); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); + this.SuspendLayout(); + // + // txtConString + // + this.txtConString.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtConString.Location = new System.Drawing.Point(123, 12); + this.txtConString.Name = "txtConString"; + this.txtConString.ReadOnly = true; + this.txtConString.Size = new System.Drawing.Size(472, 20); + this.txtConString.TabIndex = 0; + // + // lblConString + // + this.lblConString.AutoSize = true; + this.lblConString.Location = new System.Drawing.Point(12, 15); + this.lblConString.Name = "lblConString"; + this.lblConString.Size = new System.Drawing.Size(105, 13); + this.lblConString.TabIndex = 1; + this.lblConString.Text = "Cadena de conexion"; + // + // btnCopiarConString + // + this.btnCopiarConString.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnCopiarConString.Location = new System.Drawing.Point(601, 10); + this.btnCopiarConString.Name = "btnCopiarConString"; + this.btnCopiarConString.Size = new System.Drawing.Size(52, 23); + this.btnCopiarConString.TabIndex = 3; + this.btnCopiarConString.Text = "Copiar"; + this.btnCopiarConString.UseVisualStyleBackColor = true; + this.btnCopiarConString.Click += new System.EventHandler(this.btnCopiarConString_Click); + // + // lsvTablas + // + this.lsvTablas.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.lsvTablas.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colNombreTabla, + this.colEsquema, + this.colTipo}); + this.lsvTablas.Location = new System.Drawing.Point(12, 38); + this.lsvTablas.Name = "lsvTablas"; + this.lsvTablas.Size = new System.Drawing.Size(326, 426); + this.lsvTablas.TabIndex = 4; + this.lsvTablas.UseCompatibleStateImageBehavior = false; + this.lsvTablas.View = System.Windows.Forms.View.Details; + this.lsvTablas.SelectedIndexChanged += new System.EventHandler(this.lsvTablas_SelectedIndexChanged); + // + // colNombreTabla + // + this.colNombreTabla.Text = "Tabla"; + this.colNombreTabla.Width = 169; + // + // colEsquema + // + this.colEsquema.Text = "Esquema"; + // + // colTipo + // + this.colTipo.Text = "Tipo"; + this.colTipo.Width = 71; + // + // lsvColumnas + // + this.lsvColumnas.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lsvColumnas.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colNombreColumna, + this.colTipoDatos, + this.colTamanho}); + this.lsvColumnas.Location = new System.Drawing.Point(344, 38); + this.lsvColumnas.Name = "lsvColumnas"; + this.lsvColumnas.Size = new System.Drawing.Size(309, 262); + this.lsvColumnas.TabIndex = 6; + this.lsvColumnas.UseCompatibleStateImageBehavior = false; + this.lsvColumnas.View = System.Windows.Forms.View.Details; + // + // colNombreColumna + // + this.colNombreColumna.Text = "Columna"; + this.colNombreColumna.Width = 139; + // + // colTipoDatos + // + this.colTipoDatos.Text = "Tipo de Datos"; + this.colTipoDatos.Width = 92; + // + // colTamanho + // + this.colTamanho.Text = "Tamaño"; + // + // dataGridView1 + // + this.dataGridView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataGridView1.Location = new System.Drawing.Point(344, 306); + this.dataGridView1.Name = "dataGridView1"; + this.dataGridView1.Size = new System.Drawing.Size(309, 158); + this.dataGridView1.TabIndex = 8; + // + // frmBaseDatos + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(665, 476); + this.Controls.Add(this.dataGridView1); + this.Controls.Add(this.lsvColumnas); + this.Controls.Add(this.lsvTablas); + this.Controls.Add(this.btnCopiarConString); + this.Controls.Add(this.lblConString); + this.Controls.Add(this.txtConString); + this.Name = "frmBaseDatos"; + this.Text = "Base de Datos"; + this.Load += new System.EventHandler(this.frmBaseDatos_Load); + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox txtConString; + private System.Windows.Forms.Label lblConString; + private System.Windows.Forms.Button btnCopiarConString; + private System.Windows.Forms.ListView lsvTablas; + private System.Windows.Forms.ColumnHeader colNombreTabla; + private System.Windows.Forms.ColumnHeader colEsquema; + private System.Windows.Forms.ColumnHeader colTipo; + private System.Windows.Forms.ListView lsvColumnas; + private System.Windows.Forms.ColumnHeader colNombreColumna; + private System.Windows.Forms.ColumnHeader colTipoDatos; + private System.Windows.Forms.ColumnHeader colTamanho; + private System.Windows.Forms.DataGridView dataGridView1; + } +} \ No newline at end of file diff --git a/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.cs b/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.cs new file mode 100644 index 0000000..6de6eec --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Data.Sql; +using System.Data.SqlClient; + +namespace ServerExplorer +{ + public partial class frmBaseDatos : Form + { + SqlConnection cnx; + + public frmBaseDatos(String ConString) + { + InitializeComponent(); + + // Establecer conexion + txtConString.Text = ConString; + cnx = new SqlConnection(ConString); + } + + private void frmBaseDatos_Load(object sender, EventArgs e) + { + // Obtener lista de tablas + cnx.Open(); + DataTable dt = cnx.GetSchema("Tables"); + cnx.Close(); + + // Mostrar todas las tablas + lsvTablas.Items.Clear(); + foreach (DataRow dr in dt.Rows) + { + ListViewItem item = lsvTablas.Items.Add((String)dr["TABLE_NAME"]); + item.SubItems.Add((String)dr["TABLE_SCHEMA"]); + item.SubItems.Add((String)dr["TABLE_TYPE"]); + } + } + + private void btnCopiarConString_Click(object sender, EventArgs e) + { + // Copiar la cadena de conexion al portapapeles + System.Windows.Forms.Clipboard.SetText(txtConString.Text); + } + + private void lsvTablas_SelectedIndexChanged(object sender, EventArgs e) + { + if (lsvTablas.SelectedItems.Count == 1) + { + DataTable dt; + + // Determinar tabla seleccionada + ListViewItem item = lsvTablas.SelectedItems[0]; + + // Obtener las columnas de la tabla + String[] restr_columna = { null, null, item.SubItems[0].Text, null }; + // NOTA: Catalog, Owner, Table, TableType + cnx.Open(); + dt = cnx.GetSchema("Columns", restr_columna); + cnx.Close(); + + + // Mostrar "columnas" de las tablas + lsvColumnas.Items.Clear(); + foreach (DataRow dr in dt.Rows) + { + ListViewItem subitem = lsvColumnas.Items.Add((String)dr["COLUMN_NAME"]); + subitem.SubItems.Add((String)dr["DATA_TYPE"]); + if (dr["CHARACTER_MAXIMUM_LENGTH"] != DBNull.Value) + { + subitem.SubItems.Add(String.Format("{0}",dr["CHARACTER_MAXIMUM_LENGTH"])); + } + } + + // Obtener las restricciones de la tabla + cnx.Open(); + dt = cnx.GetSchema("Restrictions"); + dt = cnx.GetSchema("ForeignKeys"); + //dt = cnx.GetSchema("Indexes"); + //dt = cnx.GetSchema("IndexColumns"); + //dt = cnx.GetSchema("Constraint"); + cnx.Close(); + + // Mostrar las columnas de la tabla restricciones + dataGridView1.DataSource = dt; + } + } + + } +} diff --git a/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.resx b/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmBaseDatos.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ServerExplorer/Backup/ServerExplorer/frmPrincipal.Designer.cs b/ServerExplorer/Backup/ServerExplorer/frmPrincipal.Designer.cs new file mode 100644 index 0000000..64dcfcd --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmPrincipal.Designer.cs @@ -0,0 +1,114 @@ +namespace ServerExplorer +{ + partial class frmPrincipal + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.servidorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.meiBuscarServidor = new System.Windows.Forms.ToolStripMenuItem(); + this.baseDeDatosToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.meiConectarA = new System.Windows.Forms.ToolStripMenuItem(); + this.meiConectarPRUEBAS = new System.Windows.Forms.ToolStripMenuItem(); + this.menuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.servidorToolStripMenuItem, + this.baseDeDatosToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Size = new System.Drawing.Size(800, 24); + this.menuStrip1.TabIndex = 4; + this.menuStrip1.Text = "menuPrincipal"; + // + // servidorToolStripMenuItem + // + this.servidorToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.meiBuscarServidor}); + this.servidorToolStripMenuItem.Name = "servidorToolStripMenuItem"; + this.servidorToolStripMenuItem.Size = new System.Drawing.Size(59, 20); + this.servidorToolStripMenuItem.Text = "Servidor"; + // + // meiBuscarServidor + // + this.meiBuscarServidor.Name = "meiBuscarServidor"; + this.meiBuscarServidor.Size = new System.Drawing.Size(160, 22); + this.meiBuscarServidor.Text = "Buscar Servidor"; + this.meiBuscarServidor.Click += new System.EventHandler(this.meiBuscarServidor_Click); + // + // baseDeDatosToolStripMenuItem + // + this.baseDeDatosToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.meiConectarA, + this.meiConectarPRUEBAS}); + this.baseDeDatosToolStripMenuItem.Name = "baseDeDatosToolStripMenuItem"; + this.baseDeDatosToolStripMenuItem.Size = new System.Drawing.Size(88, 20); + this.baseDeDatosToolStripMenuItem.Text = "Base de Datos"; + // + // meiConectarA + // + this.meiConectarA.Name = "meiConectarA"; + this.meiConectarA.Size = new System.Drawing.Size(186, 22); + this.meiConectarA.Text = "Conectar a..."; + // + // meiConectarPRUEBAS + // + this.meiConectarPRUEBAS.Name = "meiConectarPRUEBAS"; + this.meiConectarPRUEBAS.Size = new System.Drawing.Size(186, 22); + this.meiConectarPRUEBAS.Text = "Conectar a PRUEBAS"; + this.meiConectarPRUEBAS.Click += new System.EventHandler(this.meiConectarPRUEBAS_Click); + // + // frmPrincipal + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 601); + this.Controls.Add(this.menuStrip1); + this.IsMdiContainer = true; + this.MainMenuStrip = this.menuStrip1; + this.Name = "frmPrincipal"; + this.Text = "Explorador de Servidores"; + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem servidorToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem meiBuscarServidor; + private System.Windows.Forms.ToolStripMenuItem baseDeDatosToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem meiConectarA; + private System.Windows.Forms.ToolStripMenuItem meiConectarPRUEBAS; + } +} \ No newline at end of file diff --git a/ServerExplorer/Backup/ServerExplorer/frmPrincipal.cs b/ServerExplorer/Backup/ServerExplorer/frmPrincipal.cs new file mode 100644 index 0000000..10c0d72 --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmPrincipal.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace ServerExplorer +{ + public partial class frmPrincipal : Form + { + public frmPrincipal() + { + InitializeComponent(); + } + + private void meiConectarPRUEBAS_Click(object sender, EventArgs e) + { + frmBaseDatos frm = new frmBaseDatos("Data Source=SSSRV3;Initial Catalog=PRUEBAS;User ID=sa;Password=SLsssrv3"); + frm.MdiParent = this; + frm.Show(); + } + + private void meiBuscarServidor_Click(object sender, EventArgs e) + { + frmServidores frm = new frmServidores(); + frm.MdiParent = this; + frm.Show(); + } + } +} diff --git a/ServerExplorer/Backup/ServerExplorer/frmPrincipal.resx b/ServerExplorer/Backup/ServerExplorer/frmPrincipal.resx new file mode 100644 index 0000000..541af56 --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmPrincipal.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/ServerExplorer/Backup/ServerExplorer/frmServidores.Designer.cs b/ServerExplorer/Backup/ServerExplorer/frmServidores.Designer.cs new file mode 100644 index 0000000..87d487e --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmServidores.Designer.cs @@ -0,0 +1,216 @@ +namespace ServerExplorer +{ + partial class frmServidores + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.lsvServidores = new System.Windows.Forms.ListView(); + this.btnListarServidores = new System.Windows.Forms.Button(); + this.colNombreServidor = new System.Windows.Forms.ColumnHeader(); + this.colInstancia = new System.Windows.Forms.ColumnHeader(); + this.colVersion = new System.Windows.Forms.ColumnHeader(); + this.lblServidor = new System.Windows.Forms.Label(); + this.txtServidor = new System.Windows.Forms.TextBox(); + this.lblUsuario = new System.Windows.Forms.Label(); + this.lblContrasenha = new System.Windows.Forms.Label(); + this.txtUsuario = new System.Windows.Forms.TextBox(); + this.TxtContrasenha = new System.Windows.Forms.TextBox(); + this.btnListarBBDD = new System.Windows.Forms.Button(); + this.lsvBBDD = new System.Windows.Forms.ListView(); + this.colDBName = new System.Windows.Forms.ColumnHeader(); + this.colFechaCreacion = new System.Windows.Forms.ColumnHeader(); + this.SuspendLayout(); + // + // lsvServidores + // + this.lsvServidores.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.lsvServidores.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colNombreServidor, + this.colInstancia, + this.colVersion}); + this.lsvServidores.Location = new System.Drawing.Point(12, 42); + this.lsvServidores.Name = "lsvServidores"; + this.lsvServidores.Size = new System.Drawing.Size(281, 391); + this.lsvServidores.TabIndex = 1; + this.lsvServidores.UseCompatibleStateImageBehavior = false; + this.lsvServidores.View = System.Windows.Forms.View.Details; + this.lsvServidores.SelectedIndexChanged += new System.EventHandler(this.lsvServidores_SelectedIndexChanged); + // + // btnListarServidores + // + this.btnListarServidores.Location = new System.Drawing.Point(12, 13); + this.btnListarServidores.Name = "btnListarServidores"; + this.btnListarServidores.Size = new System.Drawing.Size(281, 23); + this.btnListarServidores.TabIndex = 2; + this.btnListarServidores.Text = "Listar Servidores"; + this.btnListarServidores.UseVisualStyleBackColor = true; + this.btnListarServidores.Click += new System.EventHandler(this.btnListarServidores_Click); + // + // colNombreServidor + // + this.colNombreServidor.Text = "Servidor"; + this.colNombreServidor.Width = 110; + // + // colInstancia + // + this.colInstancia.Text = "Instancia"; + this.colInstancia.Width = 94; + // + // colVersion + // + this.colVersion.Text = "Version"; + this.colVersion.Width = 73; + // + // lblServidor + // + this.lblServidor.AutoSize = true; + this.lblServidor.Location = new System.Drawing.Point(319, 18); + this.lblServidor.Name = "lblServidor"; + this.lblServidor.Size = new System.Drawing.Size(46, 13); + this.lblServidor.TabIndex = 3; + this.lblServidor.Text = "Servidor"; + // + // txtServidor + // + this.txtServidor.Location = new System.Drawing.Point(429, 15); + this.txtServidor.Name = "txtServidor"; + this.txtServidor.Size = new System.Drawing.Size(180, 20); + this.txtServidor.TabIndex = 4; + // + // lblUsuario + // + this.lblUsuario.AutoSize = true; + this.lblUsuario.Location = new System.Drawing.Point(319, 45); + this.lblUsuario.Name = "lblUsuario"; + this.lblUsuario.Size = new System.Drawing.Size(43, 13); + this.lblUsuario.TabIndex = 5; + this.lblUsuario.Text = "Usuario"; + // + // lblContrasenha + // + this.lblContrasenha.AutoSize = true; + this.lblContrasenha.Location = new System.Drawing.Point(319, 70); + this.lblContrasenha.Name = "lblContrasenha"; + this.lblContrasenha.Size = new System.Drawing.Size(61, 13); + this.lblContrasenha.TabIndex = 6; + this.lblContrasenha.Text = "Contraseña"; + // + // txtUsuario + // + this.txtUsuario.Location = new System.Drawing.Point(429, 42); + this.txtUsuario.Name = "txtUsuario"; + this.txtUsuario.Size = new System.Drawing.Size(180, 20); + this.txtUsuario.TabIndex = 7; + // + // TxtContrasenha + // + this.TxtContrasenha.Location = new System.Drawing.Point(429, 67); + this.TxtContrasenha.Name = "TxtContrasenha"; + this.TxtContrasenha.Size = new System.Drawing.Size(180, 20); + this.TxtContrasenha.TabIndex = 8; + this.TxtContrasenha.UseSystemPasswordChar = true; + // + // btnListarBBDD + // + this.btnListarBBDD.Location = new System.Drawing.Point(322, 93); + this.btnListarBBDD.Name = "btnListarBBDD"; + this.btnListarBBDD.Size = new System.Drawing.Size(287, 23); + this.btnListarBBDD.TabIndex = 9; + this.btnListarBBDD.Text = "Listar BBDD"; + this.btnListarBBDD.UseVisualStyleBackColor = true; + this.btnListarBBDD.Click += new System.EventHandler(this.btnListarBBDD_Click); + // + // lsvBBDD + // + this.lsvBBDD.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.lsvBBDD.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.colDBName, + this.colFechaCreacion}); + this.lsvBBDD.Location = new System.Drawing.Point(322, 122); + this.lsvBBDD.Name = "lsvBBDD"; + this.lsvBBDD.Size = new System.Drawing.Size(287, 311); + this.lsvBBDD.TabIndex = 11; + this.lsvBBDD.UseCompatibleStateImageBehavior = false; + this.lsvBBDD.View = System.Windows.Forms.View.Details; + this.lsvBBDD.DoubleClick += new System.EventHandler(this.lsvBBDD_DoubleClick); + // + // colDBName + // + this.colDBName.Text = "Base de Datos"; + this.colDBName.Width = 165; + // + // colFechaCreacion + // + this.colFechaCreacion.Text = "Fecha de Creacion"; + this.colFechaCreacion.Width = 107; + // + // frmServidores + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(631, 445); + this.Controls.Add(this.lsvBBDD); + this.Controls.Add(this.btnListarBBDD); + this.Controls.Add(this.TxtContrasenha); + this.Controls.Add(this.txtUsuario); + this.Controls.Add(this.lblContrasenha); + this.Controls.Add(this.lblUsuario); + this.Controls.Add(this.txtServidor); + this.Controls.Add(this.lblServidor); + this.Controls.Add(this.btnListarServidores); + this.Controls.Add(this.lsvServidores); + this.Name = "frmServidores"; + this.Text = "Servidores"; + this.Load += new System.EventHandler(this.Form1_Load); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.ListView lsvServidores; + private System.Windows.Forms.Button btnListarServidores; + private System.Windows.Forms.ColumnHeader colNombreServidor; + private System.Windows.Forms.ColumnHeader colInstancia; + private System.Windows.Forms.ColumnHeader colVersion; + private System.Windows.Forms.Label lblServidor; + private System.Windows.Forms.TextBox txtServidor; + private System.Windows.Forms.Label lblUsuario; + private System.Windows.Forms.Label lblContrasenha; + private System.Windows.Forms.TextBox txtUsuario; + private System.Windows.Forms.TextBox TxtContrasenha; + private System.Windows.Forms.Button btnListarBBDD; + private System.Windows.Forms.ListView lsvBBDD; + private System.Windows.Forms.ColumnHeader colDBName; + private System.Windows.Forms.ColumnHeader colFechaCreacion; + + } +} + diff --git a/ServerExplorer/Backup/ServerExplorer/frmServidores.cs b/ServerExplorer/Backup/ServerExplorer/frmServidores.cs new file mode 100644 index 0000000..a9e8493 --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmServidores.cs @@ -0,0 +1,121 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Windows.Forms; +using System.Data.Sql; +using System.Data.SqlClient; +using System.Data.SqlTypes; + +namespace ServerExplorer +{ + public partial class frmServidores : Form + { + public frmServidores() + { + InitializeComponent(); + } + + private void Form1_Load(object sender, EventArgs e) + { + } + + private void btnListarServidores_Click(object sender, EventArgs e) + { + // Obtener listado de servidores + SqlDataSourceEnumerator enumerador = SqlDataSourceEnumerator.Instance; + DataTable servidores = enumerador.GetDataSources(); + lsvServidores.Items.Clear(); + lsvBBDD.Items.Clear(); + foreach (DataRow dr in servidores.Rows) + { + // Nombre del servidor + ListViewItem item = lsvServidores.Items.Add((String)dr["ServerName"]); + + // Nombre de la instancia + if (dr["InstanceName"] == System.DBNull.Value) + { + item.SubItems.Add(""); + } + else + { + item.SubItems.Add((String)dr["InstanceName"]); + } + + // Numero de version + if (dr["Version"] == System.DBNull.Value) + { + item.SubItems.Add("???"); + } + else + { + item.SubItems.Add((String)dr["Version"]); + } + } + } + + private void lsvServidores_SelectedIndexChanged(object sender, EventArgs e) + { + if (lsvServidores.SelectedItems.Count > 0) + { + ListViewItem item = lsvServidores.SelectedItems[0]; + if (item.SubItems[1].Text.CompareTo("")==0) + { + // Servidor sin subinstancias + txtServidor.Text = item.SubItems[0].Text; + } + else + { + // Servidor con subinstancias + txtServidor.Text = item.SubItems[0].Text+"/"+item.SubItems[1].Text; + } + } + } + + private void btnListarBBDD_Click(object sender, EventArgs e) + { + // Construir cadena de conexion + SqlConnectionStringBuilder constructor = new SqlConnectionStringBuilder(); + constructor.DataSource = txtServidor.Text; + constructor.InitialCatalog = "master"; + constructor.UserID = txtUsuario.Text; + constructor.Password = TxtContrasenha.Text; + + // Obtener todas las bases de datos + SqlConnection cnx = new SqlConnection(constructor.ConnectionString); + cnx.Open(); + DataTable dt = cnx.GetSchema("Databases"); + cnx.Close(); + + + // Mostrar bases de datos + lsvBBDD.Items.Clear(); + foreach (DataRow dr in dt.Rows) + { + ListViewItem item = lsvBBDD.Items.Add((String)dr["database_name"]); + item.SubItems.Add(((DateTime)dr["create_date"]).ToShortDateString()); + } + } + + + private void lsvBBDD_DoubleClick(object sender, EventArgs e) + { + if (lsvBBDD.SelectedItems.Count == 1) + { + // Construir cadena de conexion final + SqlConnectionStringBuilder constructor = new SqlConnectionStringBuilder(); + constructor.DataSource = txtServidor.Text; + constructor.InitialCatalog = (String)lsvBBDD.SelectedItems[0].SubItems[0].Text; + constructor.UserID = txtUsuario.Text; + constructor.Password = TxtContrasenha.Text; + + // Llamar a la venta de la base de datos + frmBaseDatos frm = new frmBaseDatos(constructor.ConnectionString); + frm.Show(); + } + } + } +} diff --git a/ServerExplorer/Backup/ServerExplorer/frmServidores.resx b/ServerExplorer/Backup/ServerExplorer/frmServidores.resx new file mode 100644 index 0000000..19dc0dd --- /dev/null +++ b/ServerExplorer/Backup/ServerExplorer/frmServidores.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ServerExplorer/ServerExplorer.sln b/ServerExplorer/ServerExplorer.sln index b20c15f..03d0003 100644 --- a/ServerExplorer/ServerExplorer.sln +++ b/ServerExplorer/ServerExplorer.sln @@ -1,6 +1,6 @@  -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerExplorer", "ServerExplorer\ServerExplorer.csproj", "{79531B74-3062-4A71-9953-5702BEBDEC0E}" EndProject Global diff --git a/ServerExplorer/ServerExplorer.suo b/ServerExplorer/ServerExplorer.suo index c2c346d60c442832fdd3e0d3a202550458baaee2..6e1f1fa299b44e967bba319df8a28c7501f56cc7 100644 GIT binary patch literal 28160 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 HwdnEy&cIPz delta 2626 zcmZp;!`RTlIKhFDaiimLMwWm7|No!N!<51cV#qTvFo0-<$rHVzHzsH>PGZU76PSNj z>>AHmMrH;E1_z1BRV*iY83h;^7^E2(82*EFUu034e1L;xas}%Qh;brp29ZJx3=F~y z3=AR+3=E*WU|>*UU|_Ij zU|>*TU|*#>a(9bm(5$imw|!7hJk^>mVtr6j)8$;@((tRSWgB91}_E%25$xi z1|O($KL!Q{e+CAI00stzKn4beAO;48V5l6(r(p~X4B-q63=s?r43P{B3{eaW4ABe> z3^5E046zIh3~^Ak37`;}n4lr>Lw$GY#9RA3m#<(+5flHbJ~@!XV6p?p5oSFGhRFwI zbSDQWv#~OOz-D_+Rz@C>|0R$^s)Q?mN0Nbo0pxL5@UgNmFfdq6{>kM%`3Q@_s31J~CW{Q4AOi!# zahA#Zc%>#MaOfDbF)%VRFfhCTMJR(XgC9!=6Bj5dW0)8~;vlzgh_>Q95o5&(;`?g^ zluuS<5n=LRoE#wN!&o!fP}_R4ohBb|4MPfp6+;X|8ABpN(PUjw`}zWgB8Gg1bcP~^ zM21`jJ%(h4Vul)q8ir~HM+P$nX9jZy69y9oM+OT9T?PXNS1?}kjfiU*6yl|ufLJ-BojB`1Fs^5+4iQ&9N8f{s<0fq|iEa;0#)0~-S~B%~M^ z7(hyR7#JANt~L>R|L@&@5C(;!Ap-*gC=G!!1WXPTfFQiNL7;(glE?vj0|rzG@;gKX zKMSJ9VDf$u%}gJLqLW^ZnlrMzS6pAv81!$)Dv%YR#B7l!a_HY7IiDqSQ`SwFdvEE( zaADWShz_Nlu4}BWCeQd@0m@zsxbz1qfHDheJbF%!;80`bWME*ZnS4;jdXj|mWM>yc zR#i~`*jy=5&B&(Cz`!trdGasGlamj#7*75obsj{sfiirB@Z?|8eUk$fEG8#~CT&)d zRbu1;xd4>mVSzlkL@s~_l;)XGlCs=+UT}%Rjv^}W&&OtySDKRp%IFLX4Ca$(DQIv8 zrxulErsNl;PCliOK6$2s2R}$8waB%iASb^lwJ2t?B8xCn48bHj*+8AGK8Ycbp_n0+ zA%!84p@boyp_oQVw}!!uA)ld$As3v8K?#_JWf2n>Hz@bPBKxm^=Hw57Z0?{;;>cjY zV9sF3;L2dipv&OQV8CF+V8{T3xgSh1%oq# z6IiX`WZR(B$w|s`lPBprutSQJyvdBA;gh#0^=t~=#W>kPHgB?!x}G7P+|R%OiYG{V zgONd~AToigw4$zhXl@lTfi$A9B;5iG*FEH&4ljAg3F)=Vq z=F-X#2SuzixFiW@@MQ2~aAELg2xkbM+-NB}S-@Oj@;Xb7$(OW@m`xcNCOgUoPTrs^ z!VM}}+?{+p4ZwEAvxC@fV0PeSKRr8Ud$8K{$$f@W%&u^8fyq4jI?QHZx$MasbXb@j zkmObw$$`xQ*>h1T6U?>)s|DGq#|&a$R7#zEAzX~p#ns0XWT*e+i$=2>NzIQUV^|h)tf8 ztTFin4&OpTgJW_`ipk^-W9)8)#IG9Im#|Q2nfxJDYqDJ0Twze1n8komTY`$7JbD#9 zkXm!HV_Frst#(v-_ar-KP@&BjI=R%&55!`PXJBBcn;gjDJ^4t^p3My^YZxc%#E48j U;Mg$PL4jqnXWDkg$p$Q}0LGV tablas=new List(); + + public void Guardar(String fichero){ + XmlSerializer seriador = new XmlSerializer(typeof(CodeGenConfig)); + StreamWriter escritor = new StreamWriter(fichero); + seriador.Serialize(escritor, this); + } + + public static CodeGenConfig Cargar(String fichero) + { + XmlSerializer seriador = new XmlSerializer(typeof(CodeGenConfig)); + StreamReader lector = new StreamReader(fichero); + CodeGenConfig config=(CodeGenConfig)seriador.Deserialize(lector); + return config; + } + } +} diff --git a/ServerExplorer/ServerExplorer/Properties/Resources.Designer.cs b/ServerExplorer/ServerExplorer/Properties/Resources.Designer.cs index 33e5119..693042d 100644 --- a/ServerExplorer/ServerExplorer/Properties/Resources.Designer.cs +++ b/ServerExplorer/ServerExplorer/Properties/Resources.Designer.cs @@ -1,69 +1,61 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:2.0.50727.3082 +// Este código fue generado por una herramienta. +// Versión de runtime:4.0.30319.488 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si +// se vuelve a generar el código. // //------------------------------------------------------------------------------ -namespace ServerExplorer.Properties -{ - - +namespace ServerExplorer.Properties { + using System; + + /// - /// A strongly-typed resource class, for looking up localized strings, etc. + /// Clase de recurso con establecimiento inflexible de tipos, para buscar cadenas traducidas, etc. /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")] + // StronglyTypedResourceBuilder generó automáticamente esta clase + // a través de una herramienta como ResGen o Visual Studio. + // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen + // con la opción /str o vuelva a generar su proyecto de VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - + internal class Resources { + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { + internal Resources() { } - + /// - /// Returns the cached ResourceManager instance used by this class. + /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ServerExplorer.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } - + /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. + /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las + /// búsquedas de recursos mediante esta clase de recurso con establecimiento inflexible de tipos. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { + internal static global::System.Globalization.CultureInfo Culture { + get { return resourceCulture; } - set - { + set { resourceCulture = value; } } diff --git a/ServerExplorer/ServerExplorer/Properties/Settings.Designer.cs b/ServerExplorer/ServerExplorer/Properties/Settings.Designer.cs index 626558f..cd03d92 100644 --- a/ServerExplorer/ServerExplorer/Properties/Settings.Designer.cs +++ b/ServerExplorer/ServerExplorer/Properties/Settings.Designer.cs @@ -1,28 +1,24 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:2.0.50727.3082 +// Este código fue generado por una herramienta. +// Versión de runtime:4.0.30319.488 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si +// se vuelve a generar el código. // //------------------------------------------------------------------------------ -namespace ServerExplorer.Properties -{ - - +namespace ServerExplorer.Properties { + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { - + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default - { - get - { + + public static Settings Default { + get { return defaultInstance; } } diff --git a/ServerExplorer/ServerExplorer/ServerExplorer.csproj b/ServerExplorer/ServerExplorer/ServerExplorer.csproj index f764262..5680ffc 100644 --- a/ServerExplorer/ServerExplorer/ServerExplorer.csproj +++ b/ServerExplorer/ServerExplorer/ServerExplorer.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -12,6 +12,26 @@ ServerExplorer v3.5 512 + + + + + 3.5 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true true @@ -48,12 +68,19 @@ + Form frmBaseDatos.cs + + Form + + + frmCodeGenConfig.cs + Form @@ -71,6 +98,9 @@ frmBaseDatos.cs + + frmCodeGenConfig.cs + frmPrincipal.cs @@ -85,6 +115,7 @@ True Resources.resx + True SettingsSingleFileGenerator @@ -96,6 +127,23 @@ True + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/ServerExplorer/ServerExplorer/frmPrincipal.Designer.cs b/ServerExplorer/ServerExplorer/frmPrincipal.Designer.cs index 64dcfcd..79ae729 100644 --- a/ServerExplorer/ServerExplorer/frmPrincipal.Designer.cs +++ b/ServerExplorer/ServerExplorer/frmPrincipal.Designer.cs @@ -28,75 +28,76 @@ /// private void InitializeComponent() { - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); - this.servidorToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.meiBuscarServidor = new System.Windows.Forms.ToolStripMenuItem(); - this.baseDeDatosToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.meiConectarA = new System.Windows.Forms.ToolStripMenuItem(); - this.meiConectarPRUEBAS = new System.Windows.Forms.ToolStripMenuItem(); - this.menuStrip1.SuspendLayout(); + this.menuPrincipal = new System.Windows.Forms.MenuStrip(); + this.menuServidor = new System.Windows.Forms.ToolStripMenuItem(); + this.menuBuscarServidor = new System.Windows.Forms.ToolStripMenuItem(); + this.menuBaseDatos = new System.Windows.Forms.ToolStripMenuItem(); + this.menuConectarA = new System.Windows.Forms.ToolStripMenuItem(); + this.menuConectarPRUEBAS = new System.Windows.Forms.ToolStripMenuItem(); + this.menuPrincipal.SuspendLayout(); this.SuspendLayout(); // - // menuStrip1 + // menuPrincipal // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.servidorToolStripMenuItem, - this.baseDeDatosToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Size = new System.Drawing.Size(800, 24); - this.menuStrip1.TabIndex = 4; - this.menuStrip1.Text = "menuPrincipal"; + this.menuPrincipal.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuServidor, + this.menuBaseDatos}); + this.menuPrincipal.Location = new System.Drawing.Point(0, 0); + this.menuPrincipal.Name = "menuPrincipal"; + this.menuPrincipal.Size = new System.Drawing.Size(800, 24); + this.menuPrincipal.TabIndex = 4; + this.menuPrincipal.Text = "menuPrincipal"; // - // servidorToolStripMenuItem + // menuServidor // - this.servidorToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.meiBuscarServidor}); - this.servidorToolStripMenuItem.Name = "servidorToolStripMenuItem"; - this.servidorToolStripMenuItem.Size = new System.Drawing.Size(59, 20); - this.servidorToolStripMenuItem.Text = "Servidor"; + this.menuServidor.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuBuscarServidor}); + this.menuServidor.Name = "menuServidor"; + this.menuServidor.Size = new System.Drawing.Size(62, 20); + this.menuServidor.Text = "Servidor"; // - // meiBuscarServidor + // menuBuscarServidor // - this.meiBuscarServidor.Name = "meiBuscarServidor"; - this.meiBuscarServidor.Size = new System.Drawing.Size(160, 22); - this.meiBuscarServidor.Text = "Buscar Servidor"; - this.meiBuscarServidor.Click += new System.EventHandler(this.meiBuscarServidor_Click); + this.menuBuscarServidor.Name = "menuBuscarServidor"; + this.menuBuscarServidor.Size = new System.Drawing.Size(155, 22); + this.menuBuscarServidor.Text = "Buscar Servidor"; + this.menuBuscarServidor.Click += new System.EventHandler(this.menuBuscarServidor_Click); // - // baseDeDatosToolStripMenuItem + // menuBaseDatos // - this.baseDeDatosToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.meiConectarA, - this.meiConectarPRUEBAS}); - this.baseDeDatosToolStripMenuItem.Name = "baseDeDatosToolStripMenuItem"; - this.baseDeDatosToolStripMenuItem.Size = new System.Drawing.Size(88, 20); - this.baseDeDatosToolStripMenuItem.Text = "Base de Datos"; + this.menuBaseDatos.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuConectarA, + this.menuConectarPRUEBAS}); + this.menuBaseDatos.Name = "menuBaseDatos"; + this.menuBaseDatos.Size = new System.Drawing.Size(92, 20); + this.menuBaseDatos.Text = "Base de Datos"; // - // meiConectarA + // menuConectarA // - this.meiConectarA.Name = "meiConectarA"; - this.meiConectarA.Size = new System.Drawing.Size(186, 22); - this.meiConectarA.Text = "Conectar a..."; + this.menuConectarA.Name = "menuConectarA"; + this.menuConectarA.Size = new System.Drawing.Size(183, 22); + this.menuConectarA.Text = "Conectar a..."; + this.menuConectarA.Click += new System.EventHandler(this.menuConectarA_Click); // - // meiConectarPRUEBAS + // menuConectarPRUEBAS // - this.meiConectarPRUEBAS.Name = "meiConectarPRUEBAS"; - this.meiConectarPRUEBAS.Size = new System.Drawing.Size(186, 22); - this.meiConectarPRUEBAS.Text = "Conectar a PRUEBAS"; - this.meiConectarPRUEBAS.Click += new System.EventHandler(this.meiConectarPRUEBAS_Click); + this.menuConectarPRUEBAS.Name = "menuConectarPRUEBAS"; + this.menuConectarPRUEBAS.Size = new System.Drawing.Size(183, 22); + this.menuConectarPRUEBAS.Text = "Conectar a PRUEBAS"; + this.menuConectarPRUEBAS.Click += new System.EventHandler(this.menuConectarPRUEBAS_Click); // // frmPrincipal // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(800, 601); - this.Controls.Add(this.menuStrip1); + this.Controls.Add(this.menuPrincipal); this.IsMdiContainer = true; - this.MainMenuStrip = this.menuStrip1; + this.MainMenuStrip = this.menuPrincipal; this.Name = "frmPrincipal"; this.Text = "Explorador de Servidores"; - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); + this.menuPrincipal.ResumeLayout(false); + this.menuPrincipal.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -104,11 +105,11 @@ #endregion - private System.Windows.Forms.MenuStrip menuStrip1; - private System.Windows.Forms.ToolStripMenuItem servidorToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem meiBuscarServidor; - private System.Windows.Forms.ToolStripMenuItem baseDeDatosToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem meiConectarA; - private System.Windows.Forms.ToolStripMenuItem meiConectarPRUEBAS; + private System.Windows.Forms.MenuStrip menuPrincipal; + private System.Windows.Forms.ToolStripMenuItem menuServidor; + private System.Windows.Forms.ToolStripMenuItem menuBuscarServidor; + private System.Windows.Forms.ToolStripMenuItem menuBaseDatos; + private System.Windows.Forms.ToolStripMenuItem menuConectarA; + private System.Windows.Forms.ToolStripMenuItem menuConectarPRUEBAS; } } \ No newline at end of file diff --git a/ServerExplorer/ServerExplorer/frmPrincipal.cs b/ServerExplorer/ServerExplorer/frmPrincipal.cs index 10c0d72..4c69926 100644 --- a/ServerExplorer/ServerExplorer/frmPrincipal.cs +++ b/ServerExplorer/ServerExplorer/frmPrincipal.cs @@ -16,18 +16,38 @@ namespace ServerExplorer InitializeComponent(); } - private void meiConectarPRUEBAS_Click(object sender, EventArgs e) + private void menuConectarPRUEBAS_Click(object sender, EventArgs e) { - frmBaseDatos frm = new frmBaseDatos("Data Source=SSSRV3;Initial Catalog=PRUEBAS;User ID=sa;Password=SLsssrv3"); + // Crear ventana de la base de datos de pruebas + //frmBaseDatos frm = new frmBaseDatos("Data Source=SSSRV3;Initial Catalog=PRUEBAS;User ID=sa;Password=SLsssrv3"); + frmBaseDatos frm = new frmBaseDatos("Data Source=DANTE;Initial Catalog=BD_AlfonsoRodriguez;Integrated Security=True"); frm.MdiParent = this; + frm.WindowState = FormWindowState.Maximized; frm.Show(); } - private void meiBuscarServidor_Click(object sender, EventArgs e) + private void menuBuscarServidor_Click(object sender, EventArgs e) { + // Mostrar ventana de buscador de servidores frmServidores frm = new frmServidores(); frm.MdiParent = this; frm.Show(); } + + private void menuConectarA_Click(object sender, EventArgs e) + { + // Cargar configuracion + OpenFileDialog dialogo = new OpenFileDialog(); + if (dialogo.ShowDialog() == DialogResult.OK) + { + CodeGenConfig config = CodeGenConfig.Cargar(dialogo.FileName); + + // Crear y mostrar ventana + frmBaseDatos frm = new frmBaseDatos(config); + frm.MdiParent = this; + frm.WindowState = FormWindowState.Maximized; + frm.Show(); + } + } } } diff --git a/ServerExplorer/ServerExplorer/frmPrincipal.resx b/ServerExplorer/ServerExplorer/frmPrincipal.resx index 541af56..5c01ad7 100644 --- a/ServerExplorer/ServerExplorer/frmPrincipal.resx +++ b/ServerExplorer/ServerExplorer/frmPrincipal.resx @@ -117,7 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 \ No newline at end of file diff --git a/ServerExplorer/ServerExplorer/frmServidores.Designer.cs b/ServerExplorer/ServerExplorer/frmServidores.Designer.cs index 87d487e..d14acfd 100644 --- a/ServerExplorer/ServerExplorer/frmServidores.Designer.cs +++ b/ServerExplorer/ServerExplorer/frmServidores.Designer.cs @@ -29,10 +29,10 @@ private void InitializeComponent() { this.lsvServidores = new System.Windows.Forms.ListView(); + this.colNombreServidor = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.colInstancia = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.colVersion = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.btnListarServidores = new System.Windows.Forms.Button(); - this.colNombreServidor = new System.Windows.Forms.ColumnHeader(); - this.colInstancia = new System.Windows.Forms.ColumnHeader(); - this.colVersion = new System.Windows.Forms.ColumnHeader(); this.lblServidor = new System.Windows.Forms.Label(); this.txtServidor = new System.Windows.Forms.TextBox(); this.lblUsuario = new System.Windows.Forms.Label(); @@ -41,18 +41,19 @@ this.TxtContrasenha = new System.Windows.Forms.TextBox(); this.btnListarBBDD = new System.Windows.Forms.Button(); this.lsvBBDD = new System.Windows.Forms.ListView(); - this.colDBName = new System.Windows.Forms.ColumnHeader(); - this.colFechaCreacion = new System.Windows.Forms.ColumnHeader(); + this.colDBName = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.colFechaCreacion = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.SuspendLayout(); // // lsvServidores // - this.lsvServidores.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left))); + this.lsvServidores.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); this.lsvServidores.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.colNombreServidor, this.colInstancia, this.colVersion}); + this.lsvServidores.FullRowSelect = true; this.lsvServidores.Location = new System.Drawing.Point(12, 42); this.lsvServidores.Name = "lsvServidores"; this.lsvServidores.Size = new System.Drawing.Size(281, 391); @@ -61,16 +62,6 @@ this.lsvServidores.View = System.Windows.Forms.View.Details; this.lsvServidores.SelectedIndexChanged += new System.EventHandler(this.lsvServidores_SelectedIndexChanged); // - // btnListarServidores - // - this.btnListarServidores.Location = new System.Drawing.Point(12, 13); - this.btnListarServidores.Name = "btnListarServidores"; - this.btnListarServidores.Size = new System.Drawing.Size(281, 23); - this.btnListarServidores.TabIndex = 2; - this.btnListarServidores.Text = "Listar Servidores"; - this.btnListarServidores.UseVisualStyleBackColor = true; - this.btnListarServidores.Click += new System.EventHandler(this.btnListarServidores_Click); - // // colNombreServidor // this.colNombreServidor.Text = "Servidor"; @@ -86,6 +77,16 @@ this.colVersion.Text = "Version"; this.colVersion.Width = 73; // + // btnListarServidores + // + this.btnListarServidores.Location = new System.Drawing.Point(12, 13); + this.btnListarServidores.Name = "btnListarServidores"; + this.btnListarServidores.Size = new System.Drawing.Size(281, 23); + this.btnListarServidores.TabIndex = 2; + this.btnListarServidores.Text = "Listar Servidores"; + this.btnListarServidores.UseVisualStyleBackColor = true; + this.btnListarServidores.Click += new System.EventHandler(this.btnListarServidores_Click); + // // lblServidor // this.lblServidor.AutoSize = true; @@ -147,11 +148,12 @@ // // lsvBBDD // - this.lsvBBDD.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left))); + this.lsvBBDD.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); this.lsvBBDD.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.colDBName, this.colFechaCreacion}); + this.lsvBBDD.FullRowSelect = true; this.lsvBBDD.Location = new System.Drawing.Point(322, 122); this.lsvBBDD.Name = "lsvBBDD"; this.lsvBBDD.Size = new System.Drawing.Size(287, 311); diff --git a/ServerExplorer/ServerExplorer/frmServidores.cs b/ServerExplorer/ServerExplorer/frmServidores.cs index a9e8493..f4a9035 100644 --- a/ServerExplorer/ServerExplorer/frmServidores.cs +++ b/ServerExplorer/ServerExplorer/frmServidores.cs @@ -81,8 +81,15 @@ namespace ServerExplorer SqlConnectionStringBuilder constructor = new SqlConnectionStringBuilder(); constructor.DataSource = txtServidor.Text; constructor.InitialCatalog = "master"; - constructor.UserID = txtUsuario.Text; - constructor.Password = TxtContrasenha.Text; + if (txtUsuario.Text.CompareTo("") == 0) + { + constructor.IntegratedSecurity = true; + } + else + { + constructor.UserID = txtUsuario.Text; + constructor.Password = TxtContrasenha.Text; + } // Obtener todas las bases de datos SqlConnection cnx = new SqlConnection(constructor.ConnectionString); @@ -109,11 +116,19 @@ namespace ServerExplorer SqlConnectionStringBuilder constructor = new SqlConnectionStringBuilder(); constructor.DataSource = txtServidor.Text; constructor.InitialCatalog = (String)lsvBBDD.SelectedItems[0].SubItems[0].Text; - constructor.UserID = txtUsuario.Text; - constructor.Password = TxtContrasenha.Text; + if (txtUsuario.Text.CompareTo("") == 0) + { + constructor.IntegratedSecurity = true; + } + else + { + constructor.UserID = txtUsuario.Text; + constructor.Password = TxtContrasenha.Text; + } // Llamar a la venta de la base de datos frmBaseDatos frm = new frmBaseDatos(constructor.ConnectionString); + frm.MdiParent = this.MdiParent; frm.Show(); } } diff --git a/ServerExplorer/ServerExplorer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/ServerExplorer/ServerExplorer/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..a7a358c30d4660c30170f4a08b8e8554950765e7 GIT binary patch literal 6112 zcmZQzWME+U|NsAg5Y52Az`(=Az`&5=o0(jcU!0#-q8FA~T$-2@TvD2nnXl)ZpPQSX z=jr0AqY#!_RGgWgXKQGn2ZlNd&ZRjerA4W>d8wr(MTt2&3IU}_Iho1csg)u5*{ON9 zNe0GgrfKGBhK4Do28qUrtRO2baMTTxGwlA_GKbRC7<;^h3IoXjLdJ~1IWo0yv?nkJi?8Cn{fq#9UQ#_Hg6#~^ho zEy5v|y1_cgjbmgSO`^0&Mey823&RI_nxb+B0<{!4nHd-uxHwrD7#KKNK?EC!Ut3=9nZWOzHED8C@Js3bGBI3_r? zq$D#hy;!dp%3zaVU|_Ivwu%YQ%uC5HFGj=#$U8CcxQIbGIR;k6f!!&|z`zjVY!wqw zl%HOdn5zJ4EfgzgR9Kj4#=rwp0UC)QCmHiAI{9c zu$~247-8$ujP_SRBM>;dRgS;^q9m~PNsRU|~L9rmH=>{qW*_0U=7+k4R(z2;A zFfeEkQ|yE4el}GqS!@u)rbfKQ1~F{v3=9l<#5fb)WQ!35HF7~iSZo@g=9*h+P7Wie zy$cFK)NlngfI(p_2yO&}T9R4}3=9(0&R9pKYT2|w?Z|46%)AoN@Qhngey(RpYHlr? z4ygTEjbmV^vX)JkN)2m01_lP+>Y&7OP%92JMpMhC4{aHd+SX3W%!9VI1wl<{P}r~; zP$`m4W7rIdk7UyrHX|xoY!Jg{OuWSgF>EGeq%Kg80F-Fh!C4fP&OkiowWEbRp<(9H LLLNSJ7|RU+lCb1# literal 0 HcmV?d00001 diff --git a/ServerExplorer/ServerExplorer/obj/Debug/ResGen.read.1.tlog b/ServerExplorer/ServerExplorer/obj/Debug/ResGen.read.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..5fdcbd3314a9b6b33efca4e95f1596a881361cbc GIT binary patch literal 5288 zcmezWFOI>P!HOYWlM#a+g8_pcgDHangE@l{gE>PCgENCagCBz%gC~PK)PK%kw|FvyFhnxwp~%zU zJ+2IX3?bmq1%;j`IQ&7ekboW-C@jNz+lW^$Y2SsJA4>|81xv> zZ3M-UKZ8589#R0;EcM!Qd99FM~0I5km}v z4?{dShlDWrfZNbM48eHHPE41(gL4_oMTpYahryGz-6g1g9(Exg8_pDxLgIb>4O+T7(&3|11i(~7hyfDnu$B{YuL?6JKs`HR zVuKjdG3!9eawVt-ika>~H72aKhxwG;x);>ObOZOSK=~Tf^Hc!0WDxlh)qhl?IR=GG-VNTO-rYt&sA=5uPqVsSnhv29+_OQrV9on86d=V+Q3) z^suK*oFkW6pfCjG7l;d~+0FySAGQ>SZo4aV%p(#!!T{=>gWNO_E*S_rK_e@WSat`e z5&F9UVmoXkNRPn{JjMemqXs4(A{czZH79yr7<_pf=2B3}>BkU=CH{zYGiHfMYQF_k W_n`M)K&2e0<_EP&LFF-O2?GFn8sl&P literal 0 HcmV?d00001 diff --git a/ServerExplorer/ServerExplorer/obj/Debug/ResGen.write.1.tlog b/ServerExplorer/ServerExplorer/obj/Debug/ResGen.write.1.tlog new file mode 100644 index 0000000000000000000000000000000000000000..d1fec8049668dd10126f991ab9e7daf5405869b8 GIT binary patch literal 5884 zcmezWFOI>P!HOYg$F2>L1`d_!4n+wG0?d2X9#5oVsHkFAwr3l zfs0Nt=Fi~7-~~;OP7I+8?gY}J9s{A&hU}xk?+;MiU{9+<%OChs`cUx+C@#?R2`o<_ z`vIF6D5Z^-x0vNEC|u}M3yqc}xN1G*va>!IQy# zw50-Wxdkzdwp2i20BR>;wt+`_`9e7NpqDd)yW9uW_MGc?7 PYzkjI4BoUloXTbZLxObQ literal 0 HcmV?d00001 diff --git a/ServerExplorer/ServerExplorer/obj/Debug/ServerExplorer.csproj.FileListAbsolute.txt b/ServerExplorer/ServerExplorer/obj/Debug/ServerExplorer.csproj.FileListAbsolute.txt index 842fea0..d25bfac 100644 --- a/ServerExplorer/ServerExplorer/obj/Debug/ServerExplorer.csproj.FileListAbsolute.txt +++ b/ServerExplorer/ServerExplorer/obj/Debug/ServerExplorer.csproj.FileListAbsolute.txt @@ -8,3 +8,15 @@ D:\VAR\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.pdb D:\VAR\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.frmServidores.resources D:\VAR\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.frmBaseDatos.resources D:\VAR\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.frmPrincipal.resources +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.exe +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.pdb +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\bin\Debug\ServerExplorer.exe +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\bin\Debug\ServerExplorer.pdb +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ResolveAssemblyReference.cache +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.frmBaseDatos.resources +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.frmPrincipal.resources +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.frmServidores.resources +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.Properties.Resources.resources +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ResGen.read.1.tlog +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ResGen.write.1.tlog +C:\Users\val\Desktop\ServerExplorer\ServerExplorer\obj\Debug\ServerExplorer.frmCodeGenConfig.resources diff --git a/ServerExplorer/ServerExplorer/obj/Debug/ServerExplorer.exe b/ServerExplorer/ServerExplorer/obj/Debug/ServerExplorer.exe index 171443ec7a5873433703a7703c7fa8b652a6f65f..94d05e44d7c56e1a0ce4863bb90daf62926cf364 100644 GIT binary patch literal 27648 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 S(>nm(SwRQ;My(iBApihVO@U?r literal 19456 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 LQ1UI5iu91IK>LHj*97#OaC=0P|Z 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 q-P2>r0KQ9ysB{6^s|iXEu=D{+7p@Ep3 zh~WVPlOi`G2Ll5a0|NsaMD(2o0|SEs0|NutVGa;B6U5yh6(IM6XaGB6ZeU}9ik(f~zvJ|_bMS1}g@0~Z%t14uPQ z54Sc0JIE|X25yMA1R3f;5znQ~z^0|dz|;WZXbBrY51R3g>85mf=@?phn3=C`< zJPZt6CCm&AObs9zEjcC)UIqp(Ed~Y#r(iE9MyPK=!CGddXP{?lU~Xg%@;EC)4g&*2 z2onQ?avcN10VW0p6=nto<=~Q{%)Inskcua)3=BRD3=GPl!3+j$;8ez->>ldr0t#<7 z28IYm1_ouPoctt^Vu<@0!$lV{a)S83RE-(Lz~RHd&%glAhoB_L4hb^`UIqpRkUEeU zC^|tjDEdKh1LA|i8N>!^yFc>gugVGP9B?A)!69Y3C zgTju5ft3N2+t?XcK;;!EEx_>sMo8v`2{1CmfSDlQf*Ih{kqTql_~xgS=A_y&1Qg{L zq!yKArWWf3r55Lx7A2<^>$#*BXQt<+7U?Ay>!sx6Fu-LPf>VpiQj1(G3Ucy`Qj7Eu zx*38~OG?1WJGVGFzbGd&i6OYMxFj`~!9OW0HMs=J({s+xOUq0zElMoO%+F(REGWpy zOa`-I`kfMsQ(=k`_QF`ciFt|XsYMJ$P`COf=D`%Z=j10P=44iZO=EB_%_%7@O7+Z3 z%ZDq5iZSRVm*f{Qq^Fj|qZbK%xAxTof&7A2OXrhsG+=0T!L&m}W4 zJuknwBr~~~!6h}RG(A1F$S*%Hv^cd0RXxaAAn(A9Ll_m5nwDCWnwOmFT3DKxQ_K)j zSpfG9i0zS>my(mp;GS9n;<**&=R!rGZU{kd^)ZC<;N^mec!Z=WMASdMK zrRJ6R=BK3QFu0~e1=kn zB8Frz8)R0Mv!&|Z2elrHoh-ETde^^W;MiUj6DDc$pp%(Rh?kj7NRU~9fsuuQL5LSb z2(mITG71T@aDez63_^m;Y(hLB2_BFT4~qgLBL}Mj6C)p=10#bmG(cc!xmYhGKR>5f zFSw*AKQBF}5){lSFiEG<%$$_eB6br!0}y0jU;$MHtPD&{GBRuoj6#}%x-1F|LWXQ0 z(}fJ#*_nlSg?O1**cpWcSrr%=1uZ!k!Hon4hDb&RZ{N)1qWt3gv=Y6r%;M6-oZynu zl+1iRNSGJv!NM0_p1=fxGxO4OQr$9hQlTj*zlg&S>>@n_1_qFAJj@IXj35`;3fXcn zLK{VLp!y?(Ni4i5vA{1s&$S{swE&b-LNY+{&d9)U0NO4Ah50=Y8(i*#c&HfGenE)F zJLea<;8rw}G$^(h7!0t8 zgA{?s3~P|8s5ML`3=9lm48aWX3}Fne3_%RR44w@B41Nsp44w>r3~mgN=Kfxm z_x~U*AdpE23~D!mc%b$UlCdBm22k6Iks*vBk)epejUkf()b{aY$YV%j$Op@-fO|6` z3`Goy40#O23^@#m44{0S&yWX}XJFXC!ovizHJG7hCHxIdJM_naxH}+2i&S + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ServerExplorer/_UpgradeReport_Files/UpgradeReport.css b/ServerExplorer/_UpgradeReport_Files/UpgradeReport.css new file mode 100644 index 0000000..fae98af --- /dev/null +++ b/ServerExplorer/_UpgradeReport_Files/UpgradeReport.css @@ -0,0 +1,207 @@ +BODY +{ + BACKGROUND-COLOR: white; + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 100%; + MARGIN-LEFT: 0px; + MARGIN-TOP: 0px +} +P +{ + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 70%; + LINE-HEIGHT: 12pt; + MARGIN-BOTTOM: 0px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 10px +} +.note +{ + BACKGROUND-COLOR: #ffffff; + COLOR: #336699; + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 100%; + MARGIN-BOTTOM: 0px; + MARGIN-LEFT: 0px; + MARGIN-TOP: 0px; + PADDING-RIGHT: 10px +} +.infotable +{ + BACKGROUND-COLOR: #f0f0e0; + BORDER-BOTTOM: #ffffff 0px solid; + BORDER-COLLAPSE: collapse; + BORDER-LEFT: #ffffff 0px solid; + BORDER-RIGHT: #ffffff 0px solid; + BORDER-TOP: #ffffff 0px solid; + FONT-SIZE: 70%; + MARGIN-LEFT: 10px +} +.issuetable +{ + BACKGROUND-COLOR: #ffffe8; + BORDER-COLLAPSE: collapse; + COLOR: #000000; + FONT-SIZE: 100%; + MARGIN-BOTTOM: 10px; + MARGIN-LEFT: 13px; + MARGIN-TOP: 0px +} +.issuetitle +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px; + COLOR: #003366; + FONT-WEIGHT: normal +} +.header +{ + BACKGROUND-COLOR: #cecf9c; + BORDER-BOTTOM: #ffffff 1px solid; + BORDER-LEFT: #ffffff 1px solid; + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #ffffff 1px solid; + COLOR: #000000; + FONT-WEIGHT: bold +} +.issuehdr +{ + BACKGROUND-COLOR: #E0EBF5; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px solid; + COLOR: #000000; + FONT-WEIGHT: normal +} +.issuenone +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: 0px; + BORDER-LEFT: 0px; + BORDER-RIGHT: 0px; + BORDER-TOP: 0px; + COLOR: #000000; + FONT-WEIGHT: normal +} +.content +{ + BACKGROUND-COLOR: #e7e7ce; + BORDER-BOTTOM: #ffffff 1px solid; + BORDER-LEFT: #ffffff 1px solid; + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #ffffff 1px solid; + PADDING-LEFT: 3px +} +.issuecontent +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px solid; + PADDING-LEFT: 3px +} +A:link +{ + COLOR: #cc6633; + TEXT-DECORATION: underline +} +A:visited +{ + COLOR: #cc6633; +} +A:active +{ + COLOR: #cc6633; +} +A:hover +{ + COLOR: #cc3300; + TEXT-DECORATION: underline +} +H1 +{ + BACKGROUND-COLOR: #003366; + BORDER-BOTTOM: #336699 6px solid; + COLOR: #ffffff; + FONT-SIZE: 130%; + FONT-WEIGHT: normal; + MARGIN: 0em 0em 0em -20px; + PADDING-BOTTOM: 8px; + PADDING-LEFT: 30px; + PADDING-TOP: 16px +} +H2 +{ + COLOR: #000000; + FONT-SIZE: 80%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: 3px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 20px; + PADDING-LEFT: 0px +} +H3 +{ + COLOR: #000000; + FONT-SIZE: 80%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: -5px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 20px +} +H4 +{ + COLOR: #000000; + FONT-SIZE: 70%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: 0px; + MARGIN-TOP: 15px; + PADDING-BOTTOM: 0px +} +UL +{ + COLOR: #000000; + FONT-SIZE: 70%; + LIST-STYLE: square; + MARGIN-BOTTOM: 0pt; + MARGIN-TOP: 0pt +} +OL +{ + COLOR: #000000; + FONT-SIZE: 70%; + LIST-STYLE: square; + MARGIN-BOTTOM: 0pt; + MARGIN-TOP: 0pt +} +LI +{ + LIST-STYLE: square; + MARGIN-LEFT: 0px +} +.expandable +{ + CURSOR: hand +} +.expanded +{ + color: black +} +.collapsed +{ + DISPLAY: none +} +.foot +{ +BACKGROUND-COLOR: #ffffff; +BORDER-BOTTOM: #cecf9c 1px solid; +BORDER-TOP: #cecf9c 2px solid +} +.settings +{ +MARGIN-LEFT: 25PX; +} +.help +{ +TEXT-ALIGN: right; +margin-right: 10px; +} diff --git a/ServerExplorer/_UpgradeReport_Files/UpgradeReport.xslt b/ServerExplorer/_UpgradeReport_Files/UpgradeReport.xslt new file mode 100644 index 0000000..f064951 --- /dev/null +++ b/ServerExplorer/_UpgradeReport_Files/UpgradeReport.xslt @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ Solución: + Proyecto: + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + src + + + + + + + + + + + + +
Nombre de archivoEstadoErroresAdvertencias
+ javascript:document.images[''].click()src + + + + Convertido + + + + Convertido + +
+ + archivos + + + 1 archivo + + + Convertido:
+ No convertido: +
+ + + + + + : + + + + + + + + + Informe de conversión + <xsl:if test="Properties/Property[@Name='LogNumber']"> + <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/> + </xsl:if> + + + + +

Informe de conversión -

+ +

+ Tiempo de conversión:
+

+ + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + +
+ Configuración de conversión +

+ + +
+ diff --git a/ServerExplorer/_UpgradeReport_Files/UpgradeReport_Minus.gif b/ServerExplorer/_UpgradeReport_Files/UpgradeReport_Minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..17751cb2fd5c284dfe984adc4c769982f73a0a66 GIT binary patch literal 69 zcmZ?wbhEHb23ky~TYXIqG7FYlP literal 0 HcmV?d00001