60 messaggi dal 30 dicembre 2006
ciao, lasciami indovinare ... stai maledicendo il momento in cui hai deciso o sei stato costretto ad usare SQL Server.
beh, ti dico una cosa: hai torto.
prima di cedere al demone di access, fai ancora un tentativo: facile facile.
questo script testa la possibilità di modificare la dimensione ed anche il tipo di dato di una determinata colonna.
prima provalo e, se funziona, applicalo al tuo caso. se ti interessa, posso fornirti qualche commento al codice.
occhio solo all'ultima riga:
drop table --> elimina la tabella creata ad inizio script!!

use tempdb
go

create table dbo.[tb1](
id int identity(1,1) not null,
testo1 varchar(10) not null,
testo2 char(10) not null
)

insert into dbo.[tb1](testo1, testo2)
values('testo1', 'testo2')
select * from dbo.[tb1]

print '1^ modifica: questa volta su testo1'
alter table dbo.[tb1] alter column testo1 varchar(200)

print 'a questo punto testo1 è di 200 char'
insert into dbo.[tb1](testo1, testo2)
values('testo per testo1 più lungo di 10 char', 'testo2')

select * from dbo.[tb1]

print '2^ modifica: questa volta su testo2'
alter table dbo.[tb1] alter column testo2 varchar(200)

print 'adesso anche testo2 è di 200 char'
insert into dbo.[tb1](testo1, testo2) values('testo per testo1 più lungo di 10 char',
'testo per testo2 più lungo di 10 char')

select * from dbo.[tb1]

drop table dbo.[tb1]

go
l12345 ha scritto:
ciao, lasciami indovinare ... stai maledicendo il momento in cui hai deciso o sei stato costretto ad usare SQL Server.

Ciao, la mia è stata una scelta un po obbligata un po desiderata, e no, ti devo contrariare perchè sono molto contento di sql server (era ora che cominciassi ad usarlo) e devo dire che anche se non lo so usare ancora decentemente, mi piace molto come Db!

beh, ti dico una cosa: hai torto.
prima di cedere al demone di access, fai ancora un tentativo: facile facile.

mi sa che ad access non cedero piu! :D

questo script testa la possibilità di modificare la dimensione ed anche il tipo di dato di una determinata colonna.
prima provalo e, se funziona, applicalo al tuo caso. se ti interessa, posso fornirti qualche commento al codice.
occhio solo all'ultima riga:
drop table --> elimina la tabella creata ad inizio script!!

use tempdb
go

create table dbo.[tb1](
id int identity(1,1) not null,
testo1 varchar(10) not null,
testo2 char(10) not null
)

insert into dbo.[tb1](testo1, testo2)
values('testo1', 'testo2')
select * from dbo.[tb1]

print '1^ modifica: questa volta su testo1'
alter table dbo.[tb1] alter column testo1 varchar(200)

print 'a questo punto testo1 è di 200 char'
insert into dbo.[tb1](testo1, testo2)
values('testo per testo1 più lungo di 10 char', 'testo2')

select * from dbo.[tb1]

print '2^ modifica: questa volta su testo2'
alter table dbo.[tb1] alter column testo2 varchar(200)

print 'adesso anche testo2 è di 200 char'
insert into dbo.[tb1](testo1, testo2) values('testo per testo1 più lungo di 10 char',
'testo per testo2 più lungo di 10 char')

select * from dbo.[tb1]

drop table dbo.[tb1]

go

lo script sembra interessante, ma mi dovrai spiegare come utilizzarlo...

Creazione Siti Vicenza
Posizionamento Siti - SEO
60 messaggi dal 30 dicembre 2006
ciao, allora seleziona tutto il testo che va da 'use tempdb' fino all'ultimo 'go' compreso.
lo incolli in una query window di sql manager e premi F5. se hai le impostazioni standard dell'ide, dovresti vedere nella metà inferiore della query window, i risultati dell'esecuzione dello script.
SUPERPIPPO2005 ha scritto:
Ciao ricardo78,
usi sql 2008 vero? è una "specie" di protezione che è stata introdotta proprio in questa versione ...
C'è un modo per disattivarla. Vai sul menu "Tools", seleziona "Options". Si apre una finestra. Seleziona sulla sinistra la voce "Designers" e sulla destra togli la spunta sulla voce "Prevent saving changes that require table re-creation". Clicca su OK e ... il gioco è fatto: ora puoi modificare, aggiungere, togliere colonne senza rott ... ehm ... blocchi ...  !

Fammi sapere, ciao.

Umb

Ciao SuperPippo, che dire... sei stato super!  ho disabilitato quell'opzione e ora tutto va meglio!

Finalmente non ho piu rott....!

Creazione Siti Vicenza
Posizionamento Siti - SEO
60 messaggi dal 30 dicembre 2006
in effetti quello che ti serve è solo questa istruzione:
alter table dbo.[tb1] alter column testo1 varchar(200)

ma fornirtela nuda e cruda non avrebbe avuto senso, oltre al fatto che non avresti potuto testare la validità dello script.

comunque, se lo script è andato a buon fine,
in un'altra query window digita questo:

USE [DbCataloghi2]
GO

alter table dbo.[tblCataloghi2] alter column <nome_della_colonna_da_modificare> varchar(200)
go

cambia <nome_della_colonna_da_modificare> con il nome corretto, verifica tipo e dimensione della colonna,
quindi premi F5.

saluti
e ( per l'ennesima volta) ... verifica la struttura della base dati!
ps. non mi 'contrari', semmai mi contraddici .. ;)
nman ha scritto:
SQL non e morbido.

Usi SQL 2000 2005 o 2008 ???

Sql 2008 r2

Express o Enterprise ???

Enterprise

Lo modifichi Con un File .adp .adpx o da SQLServerManagement ??

Management Studio

Quale sistema operativo Usi ???

Vista

La autenticazione è di Windows o di SQL ??

Autenticazione windows (poi quando faccio il deplyoment sul server come mi devo comportare?)

Hai Office 2003 2007 o 2010 ?

2007 ma è disattivato su questo pc

Il DB si trova / su PC locale / in rete / Aruba / altro / ??

al momento si trova in locale, ma presto dovrò fare il deplyoment su aruba

__________________________________________________
O magari si tratta di un file .mdf all'interno della cartella app_data del tuo sito ?????

il sito che fa uso di questa banca dati è collegato ad esso, sempre in locale comunque

_______________________________________________________

Dopo tutte queste domande ti do qualche indicazione.

grazie!

a) La lunghezza dei campi contatore non si puo modificare
ma non ti interessa perche sono numeri ( mi sembra lunghezza 4 )
b) La lunghezza dei campi numerici non si puo modificare
ma vale lo stesso discorso
c) Per modificare i campi interessati da relazioni devi
innanzitutto eliminare la relazione, poi modifichi i campi,
e subito dopo ricostruire la relazione.

e questa è una info importante...

d) se ti da quel messaggio c'è qualcosa che non va.
fai una modifica per volta e salvala, capirai dove ti blocca
e magari arriviamo a una soluxione.

________________________________________________________

In realtà la soluzione me l'ha data superPippo, ora quel messaggio non viene piu a rompere....


Comunque grazie, sei stata molto esaustiva! Anzi... piu info ricevo meglio è, quindi se hai voglia... scrivi pure tutto quello che vuoi!
Modificato da ricardo78 il 02 gennaio 2011 20.25 -

Creazione Siti Vicenza
Posizionamento Siti - SEO
l12345 ha scritto:
in effetti quello che ti serve è solo questa istruzione:
alter table dbo.[tb1] alter column testo1 varchar(200)

ma fornirtela nuda e cruda non avrebbe avuto senso, oltre al fatto che non avresti potuto testare la validità dello script.

comunque, se lo script è andato a buon fine,
in un'altra query window digita questo:

USE [DbCataloghi2]
GO

alter table dbo.[tblCataloghi2] alter column <nome_della_colonna_da_modificare> varchar(200)
go

cambia <nome_della_colonna_da_modificare> con il nome corretto, verifica tipo e dimensione della colonna,
quindi premi F5.

ok, provo e ti so dire

saluti
e ( per l'ennesima volta) ... verifica la struttura della base dati!

si l'ho fatto, imho sia a posto ora (spero almeno! :) )

ps. non mi 'contrari', semmai mi contraddici .. ;)

oops! ogni tanto la mia grammatica tira fuori qualche 'bug'

Creazione Siti Vicenza
Posizionamento Siti - SEO
60 messaggi dal 30 dicembre 2006
prova ad inserire nella tabella [dbo].[tblCataloghi2]
2 utenti (p.es A e B) che fanno lo stesso viaggio (p.es V1) nello stesso catalogo (p.es C1)

poi fatti questa domanda:
quale è il valore di [dbo].[tblCataloghi2].id per catalogo = 'C1'?

cioè cosa ottengo scrivendo:
select c.[id] from [dbo].[tblCataloghi2] c where c.[nomecatalogo]='C1' ?

in buona sostanza, [dbo].[tblCataloghi2] sembra più una view, cioè l'aggregazione di dati provenienti da 1 o più tabelle.
e non è l'unico punto opaco.
riflettici.
saluti

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.