Modificare la lunghezza campi

martedì 09 ottobre 2007 - 13.10

MrPerfect Profilo | Newbie

Ciao ragazzi,
devo realizzare una applicazione in C#, che rinomini tutti i campi (di tutte le tabelle) di un DB, che hanno lunghezza maggiore di 16.....
Sono nuovo si SQL Server 20005 e non sono molto pratico, ma per fortuna il DB esiste già...
Avete qualche aiutino da darmi??

thanks

alx_81 Profilo | Guru

>Ciao ragazzi,
Ciao!
>devo realizzare una applicazione in C#, che rinomini tutti i
>campi (di tutte le tabelle) di un DB, che hanno lunghezza maggiore
>di 16.....
>Sono nuovo si SQL Server 20005 e non sono molto pratico, ma per
>fortuna il DB esiste già...
>Avete qualche aiutino da darmi??
Puoi utilizzare vari metodi, ma forse il più comodo è utilizzare la sp_rename:
http://technet.microsoft.com/it-it/library/ms188351.aspx

con questa puoi rinominare anche i nomi delle colonne (ESEMPIO B)

USE tuodb; GO EXEC sp_rename 'nometabella.colonna', 'nuovacolonna', 'COLUMN'; GO

>thanks
Di nulla!

Alx81 =)

http://blogs.dotnethell.it/suxstellino

MrPerfect Profilo | Newbie

Avresti qualche esempio di applicazione C#, che si connette al DB e prende, per esempio, tutti i campi di una tabella?

Il mio problema è che non so' che metodi usare sull'oggetto SqlConnection (riesco a collegarmi al DB)..... ma non so come modificare i nomi delle colonne ecc. ............. non so' da dove partire..... sig
per esempio non capisco il significato del comando "dt = db.GetSchema("Tables");" ho guardato in MSDN ma non mi fa vedere i vari modi in cui usare i metodi....


help please

lbenaglia Profilo | Guru

>Avresti qualche esempio di applicazione C#, che si connette al
>DB e prende, per esempio, tutti i campi di una tabella?

Perché dovresti realizzare una applicazione ad-hoc quando puoi utilizzare SQL Server Management Studio o l'utility command line sqlcmd.exe?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

alx_81 Profilo | Guru

>Avresti qualche esempio di applicazione C#, che si connette al
>DB e prende, per esempio, tutti i campi di una tabella?
>
>Il mio problema è che non so' che metodi usare sull'oggetto
>SqlConnection (riesco a collegarmi al DB)..... ma non so come
>modificare i nomi delle colonne ecc. ............. non so' da
>dove partire..... sig
>per esempio non capisco il significato del comando "dt = db.GetSchema("Tables");"
>ho guardato in MSDN ma non mi fa vedere i vari modi in cui usare
>i metodi....
>
>
>help please
L'operazione che devi fare è delicata. E sei costretto ad accedere al catalog di sistema per leggere le strutture delle tabelle.
Quindi, idealmente, devi ciclare tutte le tabelle e per ogni tabella, tutte le colonne, andando a rinominare solo quelle il cui nome supera i 16 caratteri.
Una soluzione può essere questa semplice applicazione in SMO che ti consente in maniera veloce di arrivare all'elenco delle tabelle. Poi si tratta solo di lanciare il comando e sei a cavallo .

Non ho tempo di scrivertela in c# ce l'avevo già in VB.Net e ho aggiunto il comando per la sp_rename..
Te lo lascio come lavoro

Eccola:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

prova a darci un'occhiata..


Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5