Quali sono i modi più ragionevoli per spostare i dati delle tabelle da SQL Server a Oracle (su * nix) su base regolare?Spostamento ripetuto di dati da SQL Server a Oracle
risposta
- Oracle Heterogeneous Connectivity/Database Gateways in congiunzione con vista materializzata (s), PL/SQL, o Java
- SSIS o DTS: entrambi possono essere programmati, ma richiedono più di accesso in sola lettura a SQL Server
- Java (probabilmente all'interno di Oracle ma facoltativamente sul sistema operativo) che utilizza ODBC o SQLJ per accedere a SQL Server e, possibilmente, Oracle
- SQL Server pianificato per l'esportazione in CSV, Oracle pianificato per l'importazione da CSV
- Qualsiasi altro ETL strumenti (ad es. Informatica, Cognos)
- Qualsiasi della miriade di lingue che possono accedere entrambi i database (ma richiederebbe il mantenimento di un terzo ambiente per eseguire l'applicazione all'interno)
Scheduling:
- automatico/non reuqired con viste materializzate
- Oracle DBMS_JOB/DBMS_SCHEDULER
- OS-specifica (cron, Attività pianificate di Windows, etc)
- Nel caso di esportazione SSIS, DTS o CSV, pianificata in SQL Server
È possibile avere un'interfaccia SQL Server con Oracle direttamente tramite SSIS (o DTS per 2k). Fornirà funzionalità ETL e può essere programmato su base regolare.
L'utilizzo di SQL Server Integration Services (SSIS) è la soluzione migliore. Se non hai familiarità con SSIS, il modo migliore per provare qualcosa è utilizzare l'Esportazione guidata di SQL Server e fargli creare un pacchetto SSIS per te. Ad esempio, se si accede a SQL Server Management Studio e si fa clic con il pulsante destro del mouse sul database, selezionare Attività-> Esporta dati. Da lì fai clic su Avanti fino a raggiungere il passaggio "Scegli una destinazione". Selezionare il "Provider Microsoft OLE DB per Oracle" e fare clic su Proprietà per definire la connessione al database. Quando si fa clic sulla procedura guidata, nella pagina Salva ed esegui, assicurarsi di selezionare la casella di controllo "Salva pacchetto SSIS", nella schermata successiva specificare dove salvare il pacchetto SSIS. Una volta terminata l'Esportazione guidata, i tuoi dati saranno stati esportati e avrai un pacchetto SSIS che puoi usare così com'è, oppure entrare e modificarlo per fare cose più specifiche. Una volta ottenuto il pacchetto SSIS, è possibile programmarlo creando un processo agente SQL Server.
Ho avuto successo creando un server collegato (da Enterprise Manager, credo) a Oracle sul lato SQL Server. Quindi potrei usare le normali procedure memorizzate su entrambi i lati per realizzare spostamenti e aggiornamenti dei dati più piccoli in entrambe le direzioni. Questo approccio può ignorare la necessità di provare a mettere insieme qualcosa fuori dai database.
Provare a utilizzare l'ultimo client Oracle possibile sul lato SQL Server. Ricordo alcuni difetti nel client 10.2.0.2 e il client 10.2.0.4 richiedeva la registrazione o il numero di acquisto Oracle "ufficiale" o qualcosa del genere.
Per spostamenti di dati di grandi dimensioni (o forse anche spostamenti/aggiornamenti che si desidera eseguire su base giornaliera o meno frequente), utilizzare sicuramente uno degli strumenti ETL. Avevamo Informatica per i nostri processi ETL, ma se SSIS può fare a pezzi ciò di cui hai bisogno, va bene anche questo.
Creare un collegamento al database da Oracle a Sql Server (connettività eterogenea). È possibile utilizzare questo link per recuperare i dati da Sql Server con una semplice istruzione select. Se vuoi programmare puoi usare una vista materializzata o dbms_scheduler.
Un'alternativa è quella di inserire i dati in un file csv, è possibile utilizzare una tabella esterna o sqlloader per caricare questi dati nel database Oracle.
Grazie; Non avevo mai sentito il termine "Connettività eterogenea" prima. Sembra (almeno in 10g) che comprenda sia i gateway trasparenti che gli agenti di connettività generici (ODBC, OLE DB). – Alkini
Mentre leggeva la guida amministrativa ufficiale e vedeva un'altra menzione dell'uso di viste materializzate, affondava nel modo in cui quella soluzione brillante (connettività eterogenea + viste materializzate) poteva essere. +1 – Alkini
Ecco quello che faccio: connettersi a SQL Server da parte di Oracle SQL Developer utilizzando questo link: https://kentgraziano.com/2013/01/14/tech-tip-connect-to-sql-server-using-oracle-sql-developer/
Dopo aver aggiunto SQL vaso, vedrete scheda SQL Server nella finestra di connessione:
Quindi connettersi all'istanza SQL.
Quindi aprire l'istanza SQL e scegliere il database o la tabella che si desidera copiare. Fare clic destro su qualsiasi database/tabella, quindi fare clic su "copia su Oracle" e scegliere l'utente [database] corretto in "Nome connessione destinazione" in cui si desidera copiare le tabelle.
È anche possibile modificare alcune proprietà lì. Fai clic su "OK" e il gioco è fatto.
Fatemi sapere in caso di problemi.
- 1. spostamento dei dati da Excel a tabella SQL Server
- 2. migrazione da Oracle a SQL Server
- 3. Lettura di dati da SQL Server utilizzando Spark SQL
- 4. Esportare i dati da SAP a SQL Server
- 5. Errore CodePage durante l'importazione di dati da Oracle a SQL Server tramite SSIS
- 6. Creazione di un pacchetto SSIS - Copia dei dati da Oracle a SQL Server
- 7. Connessione Oracle SQL Developer a Microsoft SQL Server
- 8. SQL spostamento dei dati lungo le colonne
- 9. SQL Server equivalente a NULLS FIRST di Oracle?
- 10. l'esecuzione di una stored procedure Oracle da SQL Server 2008
- 11. Esiste un Oracle equivalente a OUTPUT INSERTED di SQL Server. *?
- 12. SQL Server/Oracle: tabelle temporanee private
- 13. Come esportare i dati da SQL Server?
- 14. SQL Server: RowVersion equivalente in Oracle
- 15. sql server GO equivalente in oracle
- 16. Quale tipo di dati SQL Oracle assegna a "count (*)"?
- 17. dati da SQL Server per elasticsearch Nodo
- 18. SQL Server equivalente a Oracle CONNECT BY e pseudocolonna
- 19. SQL 2005 - Server collegato a query Oracle estremamente lento
- 20. connettersi a SQL Server da Android
- 21. C++ Accesso a SQL Server da Linux
- 22. MS SQL Server da NTEXT a INT
- 23. Sequenza Oracle, ma in MS SQL Server
- 24. Oracle equivalente a SQL Server incluse le colonne nell'indice
- 25. Server collegato SQL a Oracle Openquery recupera una riga singola
- 26. Importazione dei dati da Excel a SQL Server non riuscendo a importare tutti i dati
- 27. spostamento dei dati da un HashSet a ArrayList in Java
- 28. Lettura di dati da Microsoft SQL Server in R
- 29. Invio di dati da Android a server con dati JSON
- 30. Oracle SQL vs Oracle PL/SQL
Intendi Enterprise Manager di SQL Server, non Oracle, giusto? – Alkini
Sì, era sul lato SQL Server. Non ho le specifiche di fronte a me, ma ci è voluto un po 'su Google per capire il processo esatto. – Tom