Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
Errore Tabella esistente su SQL Server 2005
Ultimo Post 12 feb 2010 15.29 by fededi. 3 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi

Posts:173

--
12 feb 2010 14.00  
Salve a tutti.
Mi ritrovo con un errore alquanto strano (almeno per me) e piuttosto scocciante.
Sto lavorando con SQL Server Management.

Cerco di creare una tabella con una istruzione CREATE TABLE, definisco la chiave primaria etc.. e fin qui tutto bene.
Dall'elenco tabelle dell'esplora oggetti di sql server management faccio l'aggiornamento e quindi mi ritrovo la tabella appena creata. Tasto destro -> Progetta e non succede niente, la schermata dove di solito compare la struttura della tavella è completamente vuota. Riprovo una seconda volta e niente.

Decido di eliminare la tabella (tasto destro ed Elimina) e questa viene eliminata correttamente, questa non è più in elenco. Ricreo la tabella da menu crea nuova tabella, imposto la struttura e clicco su salva dando lo stesso nome di prima:
ed ecco cosa ottengo: La tabella 'dbo.NOMETABELLA' esiste già

ma dove? Eseguo un Select * From sysobjects where name = 'NOMETABELLA' ma non ottengo nulla, eseguo invece un Select * From sysobjects where name Like '%NOMETABELLA%' e... apriti cielo! ci sono ancora i riferimenti alla PK__NOMETABELLA, alcuni vincoli etc. etc..
Immagino che la presenza di questi 'oggetti' sia la causa dell'errore e dell'impossibilità nel creare una tabella con il nome di cui sopra. Come posso pulire questi riferimenti? Ho tentato un Backup e successivo Restore ma non è servito a niente..

Grazie a tutti.


Posts:173

--
12 feb 2010 14.16  
Svelato l'arcano!!

Ho analizzato lo script di generazione del database ed ho trovato che:

esistono tutti i suddetti riferimenti (Primary Key, Valori Default, Chiavi esterne) con il nome PK_NOMETABELLA, FK_NOMETABELLA...., DF_NOMETABELLA... associati ad una tabella che all'atto della progettazione avevil nome 'NOMETABELLA' poi rinominato con un nome diverso. Per cui la tabella ha cambiato nome ma tutti i riferimenti hanno mantenuto il nome originario della tabella. Caso vuole che ho avuto la malaugurata idea di creare una nuova tabella che per nome il nome primitivo della vecchia tabella...

1) Creata una tabella con nome NOMETABELLA1 con tutto il corredo.

2) Rinomino la tabella con un nuovo nome NOMETABELLA2.

... passa un pò di tempo....

3) Cerco di creare una nuova tabella con nome NOMETABELLA1 con tutto il corredo, peccato che 'il corredo' assuma i nome generati anzitempo alla vecchia tabella ed ecco il patatrac!!!!

Devo quindi istruire una stringa SQL con tutte le istruzioni del caso nominando diversamente i nomi assegnati ai constraint.

Posts:173

--
12 feb 2010 15.07  
Niente daffare. Posso creare una tabella con il nome che non si può dire, ma non potrò mai più modificarla con l'opzione Progetta di sql managment, ottengo sempre un messaggio 'la tabella è stata contrassegnata per l'eliminazione, impossibile includere in un diagramma o aprilra in progettazione tabelle'.

Il che fa pensare che non sia il caso creare una tabella con quel nome (che non si può dire....)

Saluti, Federico

Posts:173

--
12 feb 2010 15.29  

....... Basta far ripartire Sql Management studio.

 

 

Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
L'Albero degli elementi
Come iniziare a capire com'è fatto WPF (parte 3)
2007/08/13 | Autore: Patrizia Cosolo
Miniguida alla OOP con il .NET Framework- Parte III
Un' importante eredità: l'ereditarietà
2009/02/08 | Autore: Alberto De Luca
Miniguida alla OOP con il .NET Framework- Parte IV
Come gestire l'ereditarietà
2009/07/17 | Autore: Alberto De Luca
Panoramica delle Proprietà Subordinate (Dependency Properties)
Come iniziare a capire WPF Parte 6
2007/11/22 | Autore: Patrizia Cosolo
Unit Testing del codice (parte 1)
Le basi per la costruzione di test per rendere più solido il nostro codice
2007/12/26 | Autore: Sabrina Cosolo
Unit testing del codice (parte 2)
Generiamo alcuni unit test per la libreria Helper base ADO.NET
2008/03/09 | Autore: Sabrina Cosolo
Codedom Introduzione all'uso parte3
La classe Helper per le funzionalità CodeDom
2009/11/07 | Autore: Sabna Cosolo
Stampare Una DatagridView
Come utilizzare gli oggetti di stampa forniti dal framework per stampare il contenuto di una DatagridView con l'ausilio della GDI+
2008/12/07 | Autore: Andrea Zingoni
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.