2016-07-04 1 views
0

SAS 9.3 데이터 세트를 SQL Server 2012 데이터베이스로 내보내는 준비된 SSIS 패키지를 원격으로 실행하는 vb.net 2010 프로젝트가 있습니다. 내가 알 수있는 한, 프로세스는 정상적으로 테스트되었습니다.SSIS 패키지를 사용하지 않고 SQL Server로 SQL 데이터 세트 이동

그러나 SSIS 패키지는 신뢰할 수 없기 때문에 사용하지 말라고 했으므로 어떻게해야합니까?

나는 내가 SAS의 끝에서이 작업을 수행 할 수 있는지 확인하기 위해 SAS ODBC를 보았다,하지만 난 DSN 인수의 확실하지 않다, I가 보았다 example은 다음과 같이이다 : 게다가

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

하지 DSN이 나에게 적용 가능하다는 것을 확신하면서 워크 스테이션의 관리자가 아니므로 ODBC 설정을 많이 할 수는 없습니다. 그렇게하는 것이 확실하지 않습니다.

+0

용서해주세요.하지만이 명령을 사용해 보셨습니까? 그렇다면 어떤 오류가 발생 했습니까? – Parfait

+0

구문에 대해서는 잘 모르겠지만 SQL 서버에 ODBC 연결을 설정하고 지금 시도하는 방법을 발견했습니다. 고맙습니다. – FashionPolice

답변

1

드라이버 나 DSN (모든 구성/설정이 지정된 사용자 지정 바로 가기 데이터 원본 연결 개체)을 사용할 수 있습니다. 연결되면 로컬 소스에서 원격 소스로 데이터를 추가하십시오.

* 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; 

데이터베이스를 라이브러리에 할당하는 것은 복제가 아닌 실시간 연결이므로 매우주의하십시오. 따라서 수정/추가/삭제는 서버에 즉시 반영됩니다.

+0

예. 내 목표는 SSIS 패키지가 수행하는 작업을 모방하여 sas 데이터 세트를 덮어 쓰지 않고 복사하는 것입니다. 사용자 이름과 암호에 관한 한 가지 : SQL 서버에 대한 신뢰할 수있는 연결을 사용할 수 있습니까? 필자는 VS 프로젝트에서 SQL에 직접 연결할 때 그렇게 했었기 때문에 이름 ans 암호를 제공 할 필요가 없었습니다. – FashionPolice

+0

듣기 좋습니다! 다행스럽게도 도와 줘서 기뻐요. – Parfait

+0

SSIS 패키지를 실행하는 데 시간이 오래 걸린다는 것을 알았지 만 ... 원한다면 가져옵니다. 그러나이 빠른 도움에 감사드립니다! – FashionPolice

0

관리자 일 필요는 없습니다. 사용자 프로필 아래에 DSN 연결을 설정합니다. libname을 할당하면 권한이 허용하는대로 SQL 서버에서 데이터를 업로드하거나 업데이트 할 수 있습니다.

libname 문이 올바른 것 같습니다.

+0

좋습니다, 여기에 안내 된대로 시도해보십시오. http://support.sas.com/techsup/technote/ts765.pdf 추가 테스트를 진행합니다. 고맙습니다. – FashionPolice

관련 문제