none
script création dsn automatique RRS feed

  • Discussion générale

  • Bonsoir à tous,

    Mon problème est que je veux créer un script qui permet la création d'une source de données de façon automatique moyennant de   l'authentification sql. j'ai utilisé ce code qui me permet de créer une dsn système en utilisant l'authentification windows (avec le login et le mot de passe de celui qui a qui a ouvert la session). j'ai bricolé un peu avec le code et j'ai voulu le faire fonctionné avec l'authentification sql mais quand je teste (panneau de configuration outils d'administration sources de données(ODBC)) je je trouve que la dsn est crée mais seulement l'id user est affiché le mot de passe ne l'est pas de telle façon que l'authentification échoue et on m'affiche erreur sql. j'ai fait des recherches infructueuses pour une solution. je serai très très reconnaissante si quelqu'un pourrait m'aider. voilà le code (j'ai ôter la partie du mot de passe puisqu'elle ne fonctionne pas). merci d'avance   

    On Error Resume Next

     

    Dim RegObj

    Dim SysEnv

     

    Set RegObj = WScript.CreateObject("WScript.Shell")

     

    '***** Specify the DSN parameters *****

     

        DataSourceName = "nouvelledsn"

        DatabaseName = "DATABASE"

        Description = "la description de la source de données"

        LastUser = "utilisateur"

        Server = "SERVEUR"

     

    'if you use SQL Server the driver name would be "SQL Server"

        DriverName = "SQL Server"

     

    'Set this to True if Windows Authentication is used

    'else set to False or comment out

        WindowsAuthentication = false

     

    'point to DSN in registry

        REG_KEY_PATH = "HKLM\SOFTWARE\ODBC\ODBC.INI\" & DataSourceName

     

       ' Open the DSN key and check for Server entry

      lResult = RegObj.RegRead (REG_KEY_PATH & "\Server")

     

    'if lResult is nothing, DSN does not exist; create it

      if lResult = "" then

     

     'get os version through WSCript Enviroment object

       Set SysEnv = RegObj.Environment("SYSTEM")

     OSVer = UCase(SysEnv("OS"))

     

       'check which os is running so correct driver path can be set

     Select Case OSVer

       Case "WINDOWS_NT"

           DrvrPath = "C:\WinNT\System32"

       Case Else

           DrvrPath = "C:\Windows\System"

     End Select

     

     'create entries in registry

     RegObj.RegWrite REG_KEY_PATH & "\DataBase",DatabaseName,"REG_SZ"

     RegObj.RegWrite REG_KEY_PATH & "\Description",Description,"REG_SZ"

     RegObj.RegWrite REG_KEY_PATH & "\LastUser",LastUser,"REG_SZ"

     RegObj.RegWrite REG_KEY_PATH & "\Server",Server,"REG_SZ"

     RegObj.RegWrite REG_KEY_PATH & "\Driver",DrvrPath,"REG_SZ"

     

     'if WindowsAuthentication set to True,

     'a trusted connection entry is added to registry

     'else, SQL Authentication is used.

     if WindowsAuthentication = True then

       RegObj.RegWrite REG_KEY_PATH & "\Trusted_Connection","true","REG_SZ"

              else 

                RegObj.RegWrite REG_KEY_PATH,"REG_SZ"

     end if

     

     'point to data sources key

     REG_KEY_PATH = "HKLM\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources\" &DataSourceName

     

     'and add the name of the new dsn and the driver to use with it

     RegObj.RegWrite REG_KEY_PATH,DriverName,"REG_SZ"

     

     MsgBox DataSourceName & " DSN Created!"

     

    else

    MsgBox DataSourceName & " DSN already exists!"

    end if

     

    Set RegObj = Nothing

    Set SysEnv = Nothing

    dimanche 2 octobre 2011 19:19

Toutes les réponses

  • Bonjour,

    C'est intéressant mais complexe

    Hélas je n'ai pas d'idée mais je m'abonne au thread.

     


    http://www.youtube.com/user/fredCSharper http://htmldocumentcreator.codeplex.com/ fred
    lundi 3 octobre 2011 10:23
  • Bonjour,

    Votre code n'est pas du Vb.Net
    Vous aurez plus de chance dans ce forum --> VB6

    Un modérateur (qui devrais passé sous peu) va faire le déplacement de votre message, ce n'est pas nécessaire d'en refaire un

    Bonne continuation


    Cordialement,
    Xavier TALOUR
    Alias Troxsa SendMail
    Voir le profil de Xavier TALOUR sur LinkedIn
    lundi 3 octobre 2011 11:41