Con più domande
migrare dati da access mantenendo il campo contatore - incremento automatico

Domanda
-
salve!
devo migrare una serie di tabelle che correlate tra loroanalizzando le tabelle di access ho alcune tabelle che hanno dei campi contatori (incremento automatico)
come posso travasare i dati da access a sql mantenendo i valori precedenti MA continuando a far si che il campo sia incremento automatico?
Pensavo
di creare la struttura non inserserendo identity yes ma modificandola dopo ma mi da' un errore.
Come mi consigliate?
tenete conto che il campo contatore e' utilizzato in tabelle correlate per il collegamento
grazie anticipatamente
Pfmarro
Tutte le risposte
-
Hai provato ad utilizzare SQL Server Migration Assistant for Access ?
Tra le capacità del tool c'è quella di creare le colonne identity mantenendo gli stessi valori del database Access originale.
Qui trovi il download della versione 5.2, qui il blog del team di SSMA con utili indicazioni su come usare il tool e qui un video che spiega il suo utilizzo.
Dai un'occhiata anche a questa pagina, dove segnala alcune limitazioni nella gestione dei campi contatore.
HTH
Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
- Modificato Danilo DominiciMVP martedì 6 marzo 2012 20:27
-
devo migrare una serie di tabelle che correlate tra loroanalizzando le tabelle di access ho alcune tabelle che hanno dei campi contatori (incremento automatico)
come posso travasare i dati da access a sql mantenendo i valori precedenti MA continuando a far si che il campo sia incremento automatico?
Ciao,
Dato che non puoi aggiungere/rimuovere la proprietà IDENTITY da una colonna numerica di una tabella preesistente, l'unica strada che ti resta è quella di definirla ma prima di popolare la tabella, impostare l'opzione SET IDENTITY_INSERT a ON come nel seguente esempio:
USE tempdb; CREATE TABLE dbo.Students( StudentID int NOT NULL IDENTITY(1,1) PRIMARY KEY, FirstName varchar(10) NOT NULL, LastName varchar(10) NOT NULL ); SET IDENTITY_INSERT dbo.Students ON; INSERT dbo.Students(StudentID, FirstName, LastName) VALUES (1, 'Lorenzo', 'Benaglia') , (2, 'Andrea', 'Montanari') , (3, 'Gianluca', 'Hotz'); SET IDENTITY_INSERT dbo.Students OFF; INSERT dbo.Students VALUES ('Marcello', 'Poletti'); SELECT * FROM dbo.Students; /* Output: StudentID FirstName LastName ----------- ---------- ---------- 1 Lorenzo Benaglia 2 Andrea Montanari 3 Gianluca Hotz 4 Marcello Poletti (4 row(s) affected) */ DROP TABLE dbo.Students;
SQL Server 2012 offrirà un approccio più standard al problema introducendo le SEQUENCE.
Ciao!
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://social.technet.microsoft.com/Forums/it-IT/sqlserverit- Proposto come risposta Emanuele Zanchettin venerdì 9 marzo 2012 08:47
-
grazie del messaggio
ho installato il programma Sql Server Migration Tools
creo un nuovo progetto
collego il mio database msaccess 2003.mdb
connetto l'istanza e il database desiderato
purtroppo continua a dirmi problemi "error occurred while loading children"
ho MsAccess2003 e' obbligatorio avere office 2010?
Grazie
PFMarro
-
Tra i prerequisiti di SSMA 5.2 c'è anche l'installazione del DAO versione 12 o 14, che puoi installare dal cd di Office 2007 o 2010.
L'errore completo dovrebbe fare riferimento alle dll mancanti del DAO, in maniera simile a questo che ti riporto a titolo di esempio:
Error occurred while loading children.
Access Object Collector error: Database
Could not load file or assembly 'Microsoft.Office.Interop.Access.Dao, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' or one of its dependencies. The system cannot find the file specified.
Error occurred while loading content.HTH
Danilo Dominici MCP MCDBA MCITP MCSE MCAD Questo post è fornito "così com'è". Non conferisce garanzie o diritti di alcun tipo. Ricorda di usare la funzione "segna come risposta" per i post che ti hanno aiutato a risolvere il problema e "deseleziona come risposta" quando le risposte segnate non sono effettivamente utili. Questo è particolarmente utile per altri utenti che leggono il thread, alla ricerca di soluzioni a problemi similari. ENG: This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.