2016-07-04 4 views
0

Ich habe ein vb.net 2010-Projekt, das remote ein vorbereiteter SSIS-Paket ausführen würde, das ein SAS-9.3-Dataset in eine SQL Server 2012-Datenbank exportiert. Soweit ich das beurteilen kann, hat der Prozess gut funktioniert.Verschieben von SAS-Datensätzen in SQL Server OHNE Verwendung von SSIS-Paketen

Allerdings wurde mir gesagt, es nicht zu verwenden (weil SSIS-Pakete unzuverlässig sind), gibt es also Alternativen dazu?

Ich habe SAS ODBC nachgeschlagen, um zu sehen, ob ich das von dem SAS-Ende tun können, aber ich bin das DSN-Arguments nicht sicher, die example ich so nachgeschlagen ist:

LIBNAME SQL ODBC DSN='sqlsrv_nt' schema=MSSQLTips; 

Neben nicht Da ich sicher bin, dass der DSN für mich geeignet ist, bin ich kein Administrator auf meiner Arbeitsstation, so dass ich nicht viel mit ODBC-Einstellungen spielen kann - ich bin mir nicht sicher, ob das der richtige Weg ist.

+0

Verzeihen Sie, aber haben Sie diesen Befehl versucht und wenn ja, welcher Fehler aufgetreten? – Parfait

+0

Ich war mir der Syntax nicht sicher, aber ich fand nur Anweisungen zum Einrichten der ODBC-Verbindung zum SQL-Server und versuchte es jetzt. Vielen Dank. – FashionPolice

Antwort

1

Sie können entweder einen Treiber oder DSN (angepasstes Verknüpfungsdatenquellen-Verbindungsobjekt mit allen konfigurierten Konfigurationen/Einstellungen) verwenden. Sobald die Verbindung hergestellt ist, hängen Sie Ihre Daten an die lokale Quelle an.

* WITH DSN; 
libname mssqldata odbc datasrc="DSN Name" user="username" password="password"; 

* WITH DRIVER; 
libname mssqldata odbc complete="driver={SQL Server}; Server=servername; user=username; pwd=password; database=databasename;"; 

** APPEND TO DATABASE TABLE; 
proc datasets; 
    append base = mssqldata.DBTable 
    data = Work.SASdataset 
    force; 
quit; 

** UN-ASSIGN ODBC LIBRARY; 
libname mssqldata clear; 

Seien Sie sehr vorsichtig mit Bibliothek Datenbank zuweisen, da es eine Live-Verbindung und keine Kopien ist. Daher wird das Ändern/Hinzufügen/Löschen sofort zum Server reflektiert.

+0

Ja. Mein Ziel ist nur zu emulieren, was das SSIS-Paket tut, ein sas-Dataset kopieren (nicht überschreiben). Eine Sache über Benutzername und Passwort: Kann ich eine vertrauenswürdige Verbindung zum SQL-Server verwenden? Ich bin es gewohnt, das zu tun, wenn ich in meinen VS-Projekten eine direkte Verbindung zu SQL herstelle, so dass ich nie Namen und Passwort angeben musste. – FashionPolice

+0

Gut zu hören! Froh, dass es geklappt hat und ich helfen konnte. – Parfait

+0

Obwohl ich bemerkt habe, dass es länger dauert, um zu laufen, dann das SSIS-Paket ... Nun, wenn sie es wollen, bekommen sie es. Aber danke für diese schnelle Hilfe! – FashionPolice

0

Sie müssen kein Administrator sein. Richten Sie eine DSN-Verbindung unter Benutzerprofil ein. Weisen Sie dann Ihren Libnamen zu und Sie können Daten im SQL-Server hochladen oder aktualisieren, wie es die Berechtigungen zulassen.

Ihre libname-Anweisung sieht korrekt aus.

+0

OK, versucht, wie Sie hier über Anweisungen vorgeschlagen haben. http://support.sas.com/techsup/technote/ts765.pdf Wird mit weiteren Tests fortfahren. Vielen Dank. – FashionPolice

Verwandte Themen