Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: sequence

  1. #1
    Salve a tutti. Provengo dal mondo dei database Oracle e da poco sto lavorando su un database SQL Server. In oracle avevo la possibiltà di creare delle SEQUENCE, in modo tale che se dovevo inserire un nuovo campo in una tabella, nella colonna id (che in genere uso sempre come chiave primaria) inserivo il valore nomesequence.nextval

    E' possibile creare sequence in SQL Server 2000? Come si fa? E come si fa a richiamare il valore nextval e currentval?
    God bless You ;-)

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Non credo proprio che esista, sono quasi sicuro di questo (smentitemi se non è così), quindi io come molti altri creiamo una tabella che contiene per le tabelle della nostra applicazione il nome della tabella e l'ultimo id, quindi creiamo una stored procedure che si prende in input il nome della tabella nella quale dobbiamo fare l'insert e per cui ci serve sapere l'id da utilizzare, come secondo parametro in input prende curVal o nextVal, quindi fa una select sulla tabella id e se il secondo parametro di input è curVal restituisce in output curVal, altrimenti incrementa curVal di uno eseguendo una update sulla tabella degli id in modo da aggiornare il campo curVal, quindi da in output il valore da utilizzare nell'insert. Non è difficile e poi una volta creata la stored procedure la riutilizzeremo in ogni altra situazione, insomma si fa una volta per sempre e basta.
    Ans.

  3. #3
    beh si avevo già pensato ad una procedure che fungesse da sequence, credevo però che sql server la implementasse già come fa Oracle.
    Grazie ans sei sempre tu che mi rispondi.

    A proposito, ho problemi a connettermi da pagine asp ad un database sql server, io scrivo
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open ("Provider = SQLOLEDB; Data Source = GIOBBE; Initial Catalog = cts; User Id=sa; Password=")

    poi eseguo una select, ma come risposta ottengo:
    Microsoft OLE DB Provider for SQL Server (0x80004005)
    [DBNETLIB][ConnectionOpen (Connect()).]Server SQL inesistente o accesso negato.

    come mai? Aiutatemi per favorem, sto provando da un bel pò. Sono disperato non si vede
    God bless You ;-)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Così non ti so dire, comunque mi sembra su data source il problema, Data Source=GIOBBE, Giobbe è il nome del db server dove è installato sql server?
    Ans.

  5. #5
    sì GIOBBE è il nome del mio computer, dove ho installato sql server e che ovviamente funge da server.
    Ora ho provato a mettere localhost al posto di Giobbe ed omettendo user id e password e mi ha dato questo errore:
    Microsoft OLE DB Provider for SQL Server (0x80004005)
    Impossibile eseguire l'accesso per l'utente 'IUSR_GIOBBE'. Motivo: l'utente non è associato a una connessione SQL Server trusted

    e questo comunque succede qualcunque utente io metta
    God bless You ;-)

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Senza user id e password è normale avere errore. User id è corretto? La password è corretta? E poi per provare la connessione come volevi fare tu devi togliere oltre user id e password anche initial catalog, toglilo lasciando solo provider e data source su giobbe e vedi se si connette o da errore.
    Ans.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Se non va dai anche un'occhiata a Sql Server Network utility per vedere se c'è giobbe o solo named pipes e tcp/ip
    Ans.

  8. #8

    errore

    sai mi sono accorto che la connessione finora tentata e con ole-db e non odbc. Ci sono persone che mi stanno dicendo di provare a connettermi con odbc. Nel mio script asp ho scritto, sotto suggerimento di un mio amico programmatore asp:
    Set objRs = Server.CreateObject("ADODB.RecordSet")
    objRS.ActiveConnection = "DSN=miodsn;"
    objRS.Sourse = "Select * from tabella"
    objConn.CursorType = 2
    objConn.CursorLocation = 2
    objConn.LockType = 3
    objRS.Open()
    Ma in ogni caso non funziona, mi dice:
    Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
    [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato

    Ho provato anche a mettere l'attributo Driver, e dopo (su specifica richiesta di IIS) anche gli attributi SERVER, UID e PWD, ma qualunque utente io metta mi dice che non è possibile effettuare la connessione percheè l'utente non è associato ad una connessione SQL Server trusted.
    Ragazzi datemi una mano , non ce la faccio +

    Mi piacerebbe tanto fare una semplice select sul mio database.
    God bless You ;-)

  9. #9
    ah dimenticavo.
    Quando poi ho detto a questo mio amico che non funzionava il suo script, lui mi ha detto che al 100% era sbagliato il DSN, il che mi sembra strano visto che l'ho fatto per due volte e in entrambe le occasioni la verifica finale di connessione è andata a buon fine.
    Please, help me.
    God bless You ;-)

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    798
    Hai provato a vedere come ti ho detto se Giobbe è nome valido ed è associato al tuo ip? Altrimenti devi usare il tuo ip per connetterti. Prova ad aprire ad esempio Query Analizer ed inserisci Giobbe per la connessione, vedi si connette, Giobbe è riconosciuto o no. Dato che user id, password e nomeDB dovrebbero essere esatti è sul data source il problema. Controlla comunque anche il Service Manager di Sql Server per vedere se è avviato, comunque se con il Query Analizer non ti riesci a connettere a Giobbe e fare delle query sul tuo db allora è proprio quello il problema, non riconosce Giobbe, controlla Sql Network Utility e Client Network Utility per vedere se Giobbe è configurato come Alias. Per quanto riguarda il metodo da utilizzare per la connessione, OleDB è meglio di ODBC, con ODBC tu chiedi dove sta il tuo DB e poi ti colleghi, con OleDB ti colleghi direttamente.
    Ans.

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.