Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Creazione utente con SQL 2000

    Ciao,

    devo creare per un utente sul mio SQL server 2000 che permetta ad uno script in ASP o anche PHP (che non faccia nient'altro che aprire una connessione al DB passandogli HOST, LOGIN e PASSWORD) come si fa dall'enterprise manager?

    Io ho provato da database -> mio_database -> New -> new database user
    ho creato l'utente ma non funziona la connessione.
    Che posso fare?

    Ciao Max
    http://www.massimo-caselli.com
    :: Linux Apache PHP e MySQL Blog ::

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2002
    residenza
    milano
    Messaggi
    350
    http://support.microsoft.com/default...EN-US;Q191694&

    qua dovresti trovare quello che cerchi
    www.mirkocuneo.it
    _ Growth Hacker e Imprenditore Digitale _

  3. #3

    Intanto grazie...

    ... in effetti la cosa può andare bene.

    ma da enterprise manager come si fa?

    Grazie e ciao Max
    http://www.massimo-caselli.com
    :: Linux Apache PHP e MySQL Blog ::

  4. #4

    Re: Creazione utente con SQL 2000

    Originariamente inviato da maxgrante
    devo creare per un utente sul mio SQL server 2000 che permetta ad uno script in ASP o anche PHP (che non faccia nient'altro che aprire una connessione al DB passandogli HOST, LOGIN e PASSWORD) come si fa dall'enterprise manager?
    Forse ti posso aiutare... ma non ho capito la domanda!!!

  5. #5

    Precisamente:


    Il mio problema è questo ho un win 2000 server con un SQL server 2000 installato e devo creare un utente che dia la possibilità ad una pagina ASP o PHP di connettersi tramite passaggio di parametri (nel codice settati come variabili) tipo HOST, LOGIN, PWD, NOME_DB ad una funzione e che permetta oltre a questo anche di interagire con il database.

    Un po' come si fa con mySQL a cui si aggiunge l'utente e poi con la funzione:

    $db_host = "nomeoIPmacchinaserver";
    $db_login= "login";
    $db_pass= "password";
    $db_data = "nome database";

    // Connessione al database
    $connection = mysql_pconnect ($db_host, $db_login, $db_pass) or die ("Errore connessione a $db_host");
    mysql_select_db ($db_data, $connection) or die ("Errore apertura database $db_data");

    Ecco una cosa simile la vorrei fare con SQL (ovviamente o con ASP o con le funzioni MSSQL di PHP).

    Spero di essere stato un po' più chiaro... ti saluto e ti ringrazio in anticipo per la disponibilità e l'aiuto.

    Ciao Max
    http://www.massimo-caselli.com
    :: Linux Apache PHP e MySQL Blog ::

  6. #6
    Per creare un nuovo utente SQL e dargli l'accesso ad un database devi eseguire 2 stored procedure: sp_addlogin e sp_adduser.

    La prima crea un login valido per l'MSSQLServer, mentre la seconda crea un accesso per un login al database in cui viene eseguita.

    Ecco quindi la sintassi da utilizzare:

    sp_addlogin [ @loginame = ] 'login'
    [ , [ @passwd = ] 'password' ]
    [ , [ @defdb = ] 'database' ]
    [ , [ @deflanguage = ] 'language' ]


    (ho omesso alcuni parametri)

    Ecco una stringa di esempio:
    sp_addlogin 'zofm_login' , 'zofm_password', 'nome_db', 'italian'

    Questa stringa ha creato un account "zofm_login" con password "zofm_password" e gli configurato come accesso di default il database "nome_db". A questo punto dobbiamo dare i permessi per l'accesso al db "nome_db":

    sp_adduser 'zofm_login', NULL, 'db_owner'

    Così facendo l'utente "zofm_login", precedentemente creato, ha accesso al database "nome_db" (perché la stringa qui sopra è stata eseguita mentre eravamo all'interno di questo db) come membro del gruppo db_owner (che, come sai, è il gruppo di default che ha accesso a tutto il db).

    Fammi sapere

    PS. il valore NULL presente nella seconda stringa indica un nuovo nome per l'utente nel db. Nel senso che, a livello di SQLServer puoi nominare un utente in un modo, a livello di db puoi dargli un "alias". Non specificando alcun valore verrà dato lo stesso nome dell'account SQLServer.

  7. #7

    l'unica cosa

    ... non troppo chiara è il dove andare ad eseguire queste stored procedure? In quale database?

    Ma l'utente non posso aggiungerlo tramite l'interfaccia che mi offre Enterprise Manager?
    In effetti io a casa sono riuscito a creare l'utente sul SQL server dicendogli di utilizzare come authentication non quella integrata di windows ma quella di SQL assegnandogli una password.

    Grazie ancora.
    Max
    http://www.massimo-caselli.com
    :: Linux Apache PHP e MySQL Blog ::

  8. #8
    Scusa.. da come avevi scritto credevo volessi fare tutto tramite ASP o PHP (in questo caso ti connetti al db utilizzando una normale connessione e al posto della stringa SQL inserisci le stringhe che ti ho proposto).

    Se utilizzi EnterpriseManager invece le cose si semplificano. Il concetto è lo stesso ma è + semplice effettuare le operazioni.

    Prima crei il login SQLServer (nella scheda Security) poi vai nel db che ti interessa ed aggiungi l'utente precedentemente creato indicando i permessi che vuoi (nella scheda Users del database).

    Puoi creare 2 tipi di utenti: SQLServer o NT.
    Nel primo caso le info degli utenti risiedono nel db mentre nel secondo utilizzi gli account di windows per accedere.
    SQLServer può essere impostato in modo da consentire accessi misti (SQLServer e NT) o esclusivamente NT.
    Devi verificare quali di questi due tipi di accesso hai e poi utilizzare l'utente giusto. Per fare questo clicca sulle proprietà dell'SQLServer (sempre da EnterpriseManager) e controlla la scheda Security.

    Fammi sapere

  9. #9

    Piccolo errore

    Ho fatto come mi hai detto ma mi restituisce questo errore:

    [Microsoft OLE DB Provider for ODBC Drivers error '80040e4d'

    [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'geppo'. Reason: Not associated with a trusted SQL Server connection.

    /sqlserver/Default.asp, line 5
    Il codice ASP della pagina invece è questo:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    DSNtest="DRIVER={SQL Server};SERVER=localhost;UID=geppo;PWD=geppo;DATAB ASE=geppo"
    Conn.open DSNtest
    %>
    <html>
    <head>
    <title>Home page ASP Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <%
    sql = "SELECT * FROM prova ORDER BY prova DESC"
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3

    do while not(rs.eof)
    response.Write(rs(1))
    response.Write("
    ")
    rs.movenext
    loop
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
    </body>
    </html>
    Credo che il sql accetti sia utenti NT che di SQL, io ho creato un utente di SQL server.

    Grazie e ciao
    http://www.massimo-caselli.com
    :: Linux Apache PHP e MySQL Blog ::

  10. #10
    Non credo sia disponibile l'accesso misto SQL & NT... cmq prova ad aggiungere questo parametro alla stringa di connessione:

    DSNtest="Trusted_Connection=yes;DRIVER={SQL Server};SERVER=localhost;UID=geppo;PWD=geppo;DATAB ASE=geppo"

    e fammi sapere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.