Fragensteller
Import aus Oracle Datenbank

Allgemeine Diskussion
-
Hallo zusammen,
ich habe eine kleine Frage bzgl. eines Imports von Daten aus einer Oracle Datenbank:
Über ein SSIS-Paket (über den Import-Assistent angelegt) importiere ich Daten aus einer Oracle Tabelle. Dort wurde eine Spalte ursprünglich als varchar angelegt, welche im SQL Server als decimal definiert ist.
Daraufhin wurde eine View in Oracle erzeugt, in welcher die Werte in Number (15,3) gewandelt werden.
Die Vorschau im Import Assistent zeigt mir die Werte korrekt an, aber beim Einbuchen im SQL werden sie auf ganze Zahlen gerundet.
Hat jemand eine Idee, wie ich das verhindern kann?
Danke und Gruß
Timo
- Typ geändert Raul TalmaciuMicrosoft contingent staff Montag, 11. März 2013 08:17 Warten auf Feedback
Alle Antworten
-
Hallo Timo,
hast Du mal versucht, einen Datensatz manuell zu kopieren? Also direkt über:
INSERT INTO Zieltabelle( ... ) SELECT ... FROM <Linkedserver>...Quellview WHERE ...Falls es dann auch nicht funktioniert, liegt es wohl doch noch an der Definition der Spalten.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hallo,
hast Du den Tipp von Stefan ausprobiert?
Gruss,
RaulRaul Talmaciu, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können. -
Hallo Timo,
ich würde es so formulieren:[sql]
Select <Feldliste>
into <neu_zu_erzeugende_Testtabelle>
from openquery(<Verbindungsserver>,'Select <Feldliste> from <Name der View>');
[sql]
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
http://www.insidesql.org/blogs/cmu/ -
Bekomme die Meldung:
Der Server 'RHEPF4LOCAL' wurde in sys.servers nicht gefunden. Prüfen Sie, ob der richtige Servername angegeben wurde. Führen Sie bei Bedarf die gespeicherte Prozedur sp_addlinkedserver aus, um den Server zu sys.servers hinzuzufügen.
Wie kann ich den server zu sp_addlinkedserver hinzufügen? Müsste ja dann auch ein Benutzer und Passwort hinterlegt werden.
Irgendwie bekomme ich das Statement nicht zusammen.
Danke
----------------------------------------------------
Habs hinbekommen:
USE master
GO
EXEC sp_addlinkedserver
@server = 'RHEPF4LOCAL',
@srvproduct = 'Oracle',
@provider = 'OraOLEDB.Oracle',
@datasrc = 'RHEPF4LOCAL'
GO
EXEC sp_addlinkedsrvlogin
@rmtsrvname = 'RHEPF4LOCAL',
@useself = 'FALSE',
@rmtuser = 'user',
@rmtpassword = 'password'Beginne mit den Tests....
- Bearbeitet TimoB_ Dienstag, 12. März 2013 14:07
-
Habs nun ausprobiert:
Die Konvertierung auf Oracle Seite hat nicht funktioniert. Bekam immer noch alle Werte als varchar.
Ich habe nun jedoch das Konzept geändert. Anstatt mit einem SSIS-Package. Importiere ích die Daten nun per Wartungsplan und T-SQL.
- Daten aus Oracle in eine temporäre Tabelle kopieren
- Daten in der Zieltabelle löschen
- Daten aus der temporären Tabelle mit Konvertierung in die Zieltabelle schreiben
- Temporäre Tabelle löschen.
Danke für Eure hilfe.