none
Trasferimento tabelle da Acces a SqlServer RRS feed

  • Domanda

  • Devo aggiornare un DB SqlServer vuoto con le tabelle di un db Acces

    il seguente comando

    SELECT * INTO [ODBC;Driver=SQL Server;SERVER=at-tosh\sqlexpress;DATABASE=arcturus;UID=arcturus;PWD=arcturus;].[zone]

    FROM [zone];"


    aggiorna correttamete il DB SqlServeR ARCTURUS aggiungeNdo la tabella ZONE

    che però anziché ZONE crea la tabella col nome ARCTURUS.ZONE

    COME DEVO MODIFICARE IL COMANDO SQL ?


    arturo

    lunedì 25 agosto 2014 05:35

Risposte

  • Ciao,

    probabilmente l'utente "arcturus" ha come default schema "arcturus" (lo puoi vedere nelle proprietà dell'utente), quindi la nuova tabella [Zone] verrà creata in questo schema.

    Come regola generale, è meglio specificare esplicitamente lo schema di appartenenza per ogni oggetto che crei nel database (tabella, stored procedure, view e così via). Se non vuoi creare uno schema specifico per l'oggetto, puoi sempre usare lo schema "dbo". Il comando SQL quindi deve essere modificato in:

    SELECT * 
    INTO [ODBC;Driver=SQL Server;SERVER=at-tosh\sqlexpress;DATABASE=arcturus;UID=arcturus;PWD=arcturus;].[<nome dello schema che conterrà l'oggetto>].[zone]
    FROM [zone];

    Oppure, se vuoi usare lo schema predefinito "dbo":

    SELECT * 
    INTO [ODBC;Driver=SQL Server;SERVER=at-tosh\sqlexpress;DATABASE=arcturus;UID=arcturus;PWD=arcturus;].[dbo].[zone]
    FROM [zone];

    Qualche informazione in più sugli schemas in SQL Server la puoi trovare qui:

    http://technet.microsoft.com/en-us/library/ms190387(v=sql.105).aspx

    HTH


    Alberto Dallagiacoma
    My Italian Blog: http://blogs.ugidotnet.org/alby
    Twitter: http://twitter.com/albertodall
    DotDotNet - User Group .NET Emilia Romagna: http://www.dotdotnet.org


    mercoledì 27 agosto 2014 19:31

Tutte le risposte

  • Ciao,

    probabilmente l'utente "arcturus" ha come default schema "arcturus" (lo puoi vedere nelle proprietà dell'utente), quindi la nuova tabella [Zone] verrà creata in questo schema.

    Come regola generale, è meglio specificare esplicitamente lo schema di appartenenza per ogni oggetto che crei nel database (tabella, stored procedure, view e così via). Se non vuoi creare uno schema specifico per l'oggetto, puoi sempre usare lo schema "dbo". Il comando SQL quindi deve essere modificato in:

    SELECT * 
    INTO [ODBC;Driver=SQL Server;SERVER=at-tosh\sqlexpress;DATABASE=arcturus;UID=arcturus;PWD=arcturus;].[<nome dello schema che conterrà l'oggetto>].[zone]
    FROM [zone];

    Oppure, se vuoi usare lo schema predefinito "dbo":

    SELECT * 
    INTO [ODBC;Driver=SQL Server;SERVER=at-tosh\sqlexpress;DATABASE=arcturus;UID=arcturus;PWD=arcturus;].[dbo].[zone]
    FROM [zone];

    Qualche informazione in più sugli schemas in SQL Server la puoi trovare qui:

    http://technet.microsoft.com/en-us/library/ms190387(v=sql.105).aspx

    HTH


    Alberto Dallagiacoma
    My Italian Blog: http://blogs.ugidotnet.org/alby
    Twitter: http://twitter.com/albertodall
    DotDotNet - User Group .NET Emilia Romagna: http://www.dotdotnet.org


    mercoledì 27 agosto 2014 19:31
  • Ok grazie

    mi dai ancora la sintassi corretta per trasferire uana tabella da un db SQLSERVERExpress

    ad un altro db SQLSERVERExpress ?

    martedì 9 settembre 2014 15:55