Discussione:
Copia di una tabella da un database SQL Server ad un altro.
(troppo vecchio per rispondere)
Ciodof
2005-03-15 20:37:07 UTC
Permalink
Esiste un metodo o un comando da utilizzare per copiare una tabella e il suo
contenuto (o solo in suo contenuto) da una database SQL Server ad un'altro?

Mi collego a SQL Server attraverso ADO e o la necessita di trasferire tutto
il contenuto di una tabella sull'altra (fare una copia o una pubblicazione).

Grazie.
Raffaele Rialdi [MVP]
2005-03-15 21:27:22 UTC
Permalink
Post by Ciodof
Esiste un metodo o un comando da utilizzare per copiare una tabella e
il suo contenuto (o solo in suo contenuto) da una database SQL Server
ad un'altro?
Il migliore è usare un DTS di replica da un server all'altro (per i dettagli
posta sul ng microsoft.public.it.sql)
Post by Ciodof
Mi collego a SQL Server attraverso ADO e o la necessita di trasferire
tutto il contenuto di una tabella sull'altra (fare una copia o una
pubblicazione).
Questa soluzione è possibile ma più lenta rispetto al DTS.
--
Raffaele Rialdi
Microsoft .NET MVP http://mvp.support.microsoft.com -
http://italy.mvps.org UGIdotNET - User Group Italiano .NET
http://www.ugidotnet.org Weblog: http://blogs.ugidotnet.org/raffaele
Massimo Prota
2005-03-16 21:28:01 UTC
Permalink
Post by Ciodof
Esiste un metodo o un comando da utilizzare per copiare una tabella e il suo
contenuto (o solo in suo contenuto) da una database SQL Server ad un'altro?
Mi collego a SQL Server attraverso ADO e o la necessita di trasferire tutto
il contenuto di una tabella sull'altra (fare una copia o una pubblicazione).
Grazie.
Se per ADO intendi ADO.NET e hai già la struttura della tabella creata puoi:
- utilizzare un SqlDataAdapter sorgente con la proprietà
AcceptChangesDuringFill = false che ti popola una DataTable
- Creare InsertCommand corretto per questo DataAdapter
- Sostituire la connessione per andare sul db di destinazione
- Utilizzare il metodo Update del SqlDataAdapter per inserire i dati

Aggiungo ancora che se i due db si trovano sullo stesso server puoi
utilizzare il metodo ChangeDataBase di SqlConnection senza dover
istanziare una nuova SqlConnection.

HTH
--
Massimo Prota [Microsoft .NET MCAD]
MyWebLog: http://blogs.ugidotnet.org/mprota
BlogFeed: http://blogs.ugidotnet.org/mprota/Rss.aspx
Michele
2005-04-06 09:24:45 UTC
Permalink
Abilitando l'opzione sul database
e avendo i sufficienti diritti
SELECT INTO/BULKCOPY
cercare sp_dboption sui bookonline

per database sullo stesso server
basta eseguire la query :
SELECT databaseorigine.owner.tabellaorigine.* INTO
database_destinazione.owner.tabelladestinazione FROM
databaseorigine..tabellaorigine WHERE criteri_di_selzione

se invece si desidera solo accodare dei record
INSERT INTO database_destinazione.owner.tabelladestinazione SELECT
databaseorigine.owner.tabellaorigine.* FROM databaseorigine..tabellaorigine
WHERE criteri_di_selzione


per databse su server diversi :
la sintassi e analoga
pero' bisogna creare un linked server
Post by Massimo Prota
Post by Ciodof
Esiste un metodo o un comando da utilizzare per copiare una tabella e il
suo contenuto (o solo in suo contenuto) da una database SQL Server ad
un'altro?
Mi collego a SQL Server attraverso ADO e o la necessita di trasferire
tutto il contenuto di una tabella sull'altra (fare una copia o una
pubblicazione).
Grazie.
- utilizzare un SqlDataAdapter sorgente con la proprietà
AcceptChangesDuringFill = false che ti popola una DataTable
- Creare InsertCommand corretto per questo DataAdapter
- Sostituire la connessione per andare sul db di destinazione
- Utilizzare il metodo Update del SqlDataAdapter per inserire i dati
Aggiungo ancora che se i due db si trovano sullo stesso server puoi
utilizzare il metodo ChangeDataBase di SqlConnection senza dover
istanziare una nuova SqlConnection.
HTH
--
Massimo Prota [Microsoft .NET MCAD]
MyWebLog: http://blogs.ugidotnet.org/mprota
BlogFeed: http://blogs.ugidotnet.org/mprota/Rss.aspx
Loading...