begin process at 2013 06 19 16:39:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

SQL Server

 > 

récupérer le nom des serveur sql serveur de mon ordinateur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

récupérer le nom des serveur sql serveur de mon ordinateur

lundi 5 mars 2012 à 13:58:58 | récupérer le nom des serveur sql serveur de mon ordinateur

constantio

salut
je veut récupérer le nom des server sql server de mon poste

es ce quelqu'un peut m’aider ?
c'est pour écrire un générateur de classe de de procédure stocké en C#
vendredi 9 mars 2012 à 15:13:13 | Re : récupérer le nom des serveur sql serveur de mon ordinateur

BasicInstinct

Membre Club

Salut,

J'ai trouvé ca dans un coin de mon PC.

Code C# :
namespace Test.SQLDocumentor
{
        /// <summary>
        /// Summary description for SQLInfoEnumerator.
        /// This class Enumerates a network for SQL Server instances and returns a list.
        /// For a given SQL Server instance a list of all available databases is returned
        /// For more information see
        /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/odbcsqlbrowseconnect.asp
        /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp09192002.asp
        ///
        /// </summary>
        public class SQLInfoEnumerator
        {
                #region ODBC32 external function definitions
                [DllImport("odbc32.dll")]private static extern short SQLAllocHandle( short handleType, IntPtr inputHandle, out IntPtr outputHandlePtr );
                [DllImport("odbc32.dll")]private static extern short SQLSetEnvAttr( IntPtr environmentHandle, int attribute, IntPtr valuePtr, int stringLength );
                [DllImport("odbc32.dll")]private static extern short SQLFreeHandle( short hType, IntPtr Handle );
                [DllImport("odbc32.dll",CharSet=CharSet.Ansi)]private static extern short SQLBrowseConnect( IntPtr handleConnection, StringBuilder inConnection, short stringLength, StringBuilder outConnection, short bufferLength, out short stringLength2Ptr );
                #endregion
                #region Constants
                private const string SQL_DRIVER_STR = "DRIVER=SQL SERVER";
                private const short SQL_SUCCESS = 0;
                private const short SQL_HANDLE_ENV = 1;
                private const short SQL_HANDLE_DBC = 2;
                private const int SQL_ATTR_ODBC_VERSION = 200;
                private const int SQL_OV_ODBC3 = 3;
                private const short SQL_NEED_DATA = 99;
                private const short DEFAULT_RESULT_SIZE = 1024;
                private const string START_STR ="{";
                private const string END_STR ="}";
                #endregion
               
                /// <summary>
                /// A string to hold the selected SQL Server
                /// </summary>
                string m_SQLServer;
                /// <summary>
                /// A string to hold the username
                /// </summary>
                string m_Username;
                /// <summary>
                /// A string to hold the password
                /// </summary>
                string m_Password;
                /// <summary>
                /// Property to set the SQL Server instance
                /// </summary>
                public string SQLServer
                {
                        set{m_SQLServer=value;}
                }
                /// <summary>
                /// Property to set the Username
                /// </summary>
                public string Username
                {
                        set{m_Username=value;}
                }
                /// <summary>
                /// Property to set the Password
                /// </summary>
                public string Password
                {
                        set{m_Password=value;}
                }
               
                /// <summary>
                /// Enumerate the SQL Servers returning a list (if any exist)
                /// </summary>
                /// <returns></returns>
                public string[] EnumerateSQLServers()
                {
                        return RetrieveInformation(SQL_DRIVER_STR);
                }
                /// <summary>
                /// Enumerate the specified SQL server returning a list of databases (if any exist)
                /// </summary>
                /// <returns></returns>
                public string[] EnumerateSQLServersDatabases()
                {
                        return RetrieveInformation(SQL_DRIVER_STR+";SERVER="+ m_SQLServer+";UID=" + m_Username +";PWD=" +m_Password);
                }

                /// <summary>
                /// Enumerate for SQLServer/Databases based on the passed information it the string
                /// The more information provided to SQLBrowseConnect the more granular it gets so
                /// if only DRIVER=SQL SERVER passed then a list of all SQL Servers is returned
                /// If DRIVER=SQL SERVER;Server=ServerName is passed then a list of all Databases on the
                /// servers is returned etc
                /// </summary>
                /// <param name="InputParam">A valid string to query for</param>
                /// <returns></returns>
                private string[] RetrieveInformation(string InputParam)
                {
                        IntPtr m_environmentHandle=IntPtr.Zero;
                        IntPtr m_connectionHandle = IntPtr.Zero;
                        StringBuilder inConnection = new StringBuilder(InputParam);
                        short stringLength= (short)inConnection.Length;
                        StringBuilder outConnection = new StringBuilder(DEFAULT_RESULT_SIZE);
                        short stringLength2Ptr= 0;
                               
                        try
                        {      
                                if (SQL_SUCCESS == SQLAllocHandle(SQL_HANDLE_ENV, m_environmentHandle, out m_environmentHandle))
                                {
                                        if (SQL_SUCCESS == SQLSetEnvAttr(m_environmentHandle,SQL_ATTR_ODBC_VERSION,(IntPtr)SQL_OV_ODBC3,0))
                                        {
                                                if (SQL_SUCCESS == SQLAllocHandle(SQL_HANDLE_DBC, m_environmentHandle, out m_connectionHandle))
                                                {
                                                        if (SQL_NEED_DATA == SQLBrowseConnect(m_connectionHandle, inConnection, stringLength, outConnection, DEFAULT_RESULT_SIZE, out stringLength2Ptr))
                                                        {
                                                                if (SQL_NEED_DATA != SQLBrowseConnect(m_connectionHandle, inConnection, stringLength, outConnection, DEFAULT_RESULT_SIZE, out stringLength2Ptr))
                                                                {
                                                                        throw new ApplicationException("No Data Returned.");
                                                                }
                                                        }
                                                }      
                                        }
                                }
                        }
                                               
                        catch (Exception ex)
                        {                      
                                throw new ApplicationException("Cannot Locate SQL Server.");
                        }
                        finally
                        {
                                FreeConnection(m_connectionHandle);
                                FreeConnection(m_environmentHandle);
                        }
                        if (outConnection.ToString()!="")
                        {return ParseSQLOutConnection(outConnection.ToString());}
                        else{return null;}
                       
                       
                }
                /// <summary>
                /// Parse an outConnection string returned from SQLBrowseConnect
                /// </summary>
                /// <param name="outConnection">string to parse</param>
                /// <returns></returns>
                private string[] ParseSQLOutConnection(string outConnection)
                {
                        int m_Start = outConnection.IndexOf(START_STR) + 1;
                        int m_lenString = outConnection.IndexOf(END_STR) - m_Start;
                        if((m_Start>0) &&(m_lenString>0))
                        {outConnection = outConnection.Substring(m_Start,m_lenString);}
                        else
                        { outConnection = string.Empty;}
                        return outConnection.Split(",".ToCharArray());
                }
                private void FreeConnection(IntPtr handleToFree)
                {
                                if(handleToFree!= IntPtr.Zero)
                                                SQLFreeHandle(SQL_HANDLE_DBC,handleToFree);
                }
               
        }
}



bonne lecture
BasicInstinct
jeudi 6 septembre 2012 à 16:16:51 | Re : récupérer le nom des serveur sql serveur de mon ordinateur

145Serge




Toujours pret à affronter toutes les eventualités


Cette discussion est classée dans : récupérer, sql, server, serveur, ordinateur


Répondre à ce message

Sujets en rapport avec ce message

Récupérer des données dans une base SQL SERVER sans Dataset [ par dysko ] SltJ'aimerais savoir si c'est possible de récupérer des données dans une base SQL SERVER sans DataSet.Je veux en fait placer tout le contenu de la bas Dév en C# d'une app qui lit ds un serveur env Win NT et stocke ds SQL Server [ par saadaouimouad ] Bonjour, Je veux développer en C# une interface avec un processus automatique pour lire des messages stockés dans un serveur "et donc se connecter par Déplacer une BdD d'un serveur à un autre [ par feuillou ] Bonjour à tous,j'ai développé une appli sous visual studio .net 2003. Cette appli permet aux PC du réseau d'interroger une BdD qui se trouve un PC jou Client Xp(excel)/server 2003(SQL2005) [ par snif84 ] Bonjours a tous, je suis en bts ig et je passe très bientôt mes pti. Et j'ai un Pb sur le pti base de données. Je n'arrive pas a connecté mon client x problème connexion sql server avec .net remoting [ par safouenehaj ] Bonjourj'utilise une architecture client serveur en utilisant le .net remotingCe que je veux que le client envoie une requete au serveur, et le serveu connexion à un repertoir virtuel dans reporting server de sql server 2005 [ par THRILLERD ] salut les mecs! je travail sur un projet et je dois publier les rapports pour qu'ils soient accessible aux agents de la boite via intranet. j'ai créé configuration client serveur [ par djbabou ] Bonjour a tous ! Une petite question : j'aimerais savoir s'il est possible de faire tourner une application développée en c# sous visual studio expre SQL Server A jout d'une table dynamiquement [ par mouic ] Bonjour, je travaille sous Visual Studio 2008. J'ai crée une base de données SQL SERVER avec l'outil proposé par Visual. Voici le code: [code=cs]SqlC c# et sql server 2008 [ par shedex ] bonjour, quelqu'un pourrait-il m'aider je n'arrive pas à me connecter à une base sql serveur 2008 sur un server distant, ou bien me donner la demarche drop database en sql server 2000 avec c# [ par baby85 ] bonjour,j'ai deux bases des données en sql server et je veux faire le drop d'une de base mais aprés avoir recuprer une valeur de tableau(tab) de cette


Nos sponsors


Sondage...

CalendriCode

Juin 2013
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,011 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales