Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Query per SQL Server

  1. #1

    Query per SQL Server

    L'errore:
    [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid object name 'login'.

    La query:
    strSQL="SELECT azienda.login_id, azienda.ragionesociale, azienda.descrizione, azienda.desc_app, azienda.logo, login.pag_logo, login.pag_desc, azienda.controllato FROM login INNER JOIN azienda ON login.login_id = azienda.login_id WHERE azienda.ragionesociale LIKE '%"&q&"%' OR azienda.descrizione LIKE '%"&q&"%' OR azienda.desc_app LIKE '%"&q&"%' ORDER BY azienda.login_id ASC"

    Il punto d'errore.. (all'apertura della query)
    rs.Open strSQL,conn,3,3 '
    If rs.eof Then
    Response.Write("[*]Spiacente non ci sono aziende associate alla ricerca")

    Ho dato già una occhiata per vedere se il problema era che la tabella login, aveva un nome riservato
    Ma da questo elenco non risulta..

    Sono un po' estraniato... perchè in realtà sembra che il problema sia limitato a quello... o forse è possibile che il contenuto della tabella (i valori nei campi) possano creare dei problemi?


    Grazie mille,
    Rikuy

  2. #2
    - controlla i nomi dei campi
    - controlla i nomi delle tabelle
    - controlla che dentro le variabili non vi siano degli apici (fa' sempre e comunque una replace)

  3. #3
    Bhè, la cosa strana è che funziona regolarmente su un altro webhosting (usando Access).. e questo mi lascia perplesso: se funziona da una parte perchè non dovrebbe funzionare dall'altra?

  4. #4
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    controlla l'owner della tabella login
    vedrai non sarà dbo.login ma qualche altra cosa
    per cambiare owner usa la sp_changeobjectowner
    Tutti vogliono parlare, nessuno sa ascoltare.

  5. #5
    In effetti, per la tabella login (ed un altra), in seguito ad una crezione di queste in seconda fase, l'owner risulta essere diverso.

    Dunque il problema è sicuramente questo.
    Il problema successivo è come usare il comando che mi hai dato..
    Da MSDN, leggo che la sintassi dovrebbe essere questa
    sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'
    Mi da anche un esempio
    EXEC sp_changeobjectowner 'authors', 'Corporate\GeorgeW';
    GO

    Che quindi trasformerò in
    EXEC sp_changeobjectowner 'login', 'nuovoOwner';
    GO

    Ma dove e come lo indico/metto questo codice?

    E basta una volta per tutte? O devo indicarlo tutte le volte che viene effettuata una query con quelle tabelle?

    E' possibile cambiare l'owner direttamente sul database alfine di rimuovere questo empasse?

    Grazie mille,davvero.

    Riky

  6. #6
    Io ho provato..
    In particolar modo, le altre tabelle hanno come owner
    "cippadb2", queste due cartelle che mi creano problemi hanno come owner "cippaDB"

    Per modificare l'owner ho fatto questo..

    strSQL="EXEC sp_changeobjectowner 'login', 'cippadb2';"
    conn.execute(strSQL)

    Ma, mi ha dato cmq un errore :-(
    COM Error Number: -2147217900 (0x80040E14)
    Brief Description: [Microsoft][ODBC SQL Server Driver][SQL Server]login does not exist.

    Dove sbaglio?

  7. #7
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    1) puoi usare la tabella anche senza cambiare owner, basta che lo specifichi nella query

    select * from cippauser.login where....


    2) per usare la sp basta fare una pagina asp


    crei e apri oggetto connessione conn...

    sql = "exec sp_changeobjectowner 'login', 'nuovouser'"
    conn.execute (sql)
    Tutti vogliono parlare, nessuno sa ascoltare.

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.