2012-10-03 2 views
1

내 질문이 간단하다고 생각합니다. 내 쿼리가 실행중인 곳을 찾을 수 있습니까 (스크립트 파일 자체의 위치는 어디입니까?)SQL Server에서 TSQL 스크립트 파일을 사용하여 현재 디렉터리를 찾는 방법

편집 :

답 주셔서 감사합니다. 필자는 TSQL 스크립트 파일을 사용하여 XML 파일을 가져와야합니다. 그리고 함께 보관하고 싶습니다. 누군가가 TSQL 스크립트 파일을 실행하려고하면 XML 파일의 위치를 ​​알아야 할 현재 디렉토리를 알고 있어야합니다. 그것을 가져 오십시오. 다시 한번 감사드립니다!

+0

간단하지 않습니다. 모든 SQL Server는 컴파일 및 실행을 위해 텍스트 묶음이 전달된다는 사실을 알고 있습니다. 이 텍스트는 일부 코드에 의해 동적으로 생성되었거나 SSMS의 저장되지 않은 쿼리 창에있을 수 있습니다. 또는 ... (잘하면 아이디어를 얻을 수 있습니다) –

+1

이것은 큰 (깨진) 솔루션의 작은 부분처럼 들릴 수도 있습니다 해결하려는 전체적인 문제 *를 제시하면이 정보가 필요없는 솔루션을 만들 수 있습니다. –

+1

답변 해 주셔서 감사합니다.하지만 이상한 일입니다! 왜이 샘플이 그렇게 어려운 것일까 요? , – eFarzad

답변

1

로드 할 서버의 XML 파일을 저장할 수있는 잘 알려진 위치가 필요합니다. SQL Server 시스템이나 SQL Server 서비스 계정에 대한 읽기 권한이있는 파일 서버의 공유 일 수 있습니다.

는 그런 다음 스크립트의 상단에이 같은 의견이 필요합니다

--Make sure you've placed the accompanying XML file on \\RemoteMachine\UploadShare 
--Otherwise, expect this script to produce errors 

변경 \\RemoteMachine\UploadShare가 선택한 잘 알려진 위치와 일치 할 수 있습니다. 선택적으로, 30-40 개의 공백 행 (또는 더 많은 주석)이 뒤에 오는 주석을 가지므로 실행중인 사람이 그 내용을 읽어야 할 필요가 있음을 분명히 알 수 있습니다.

그런 다음 해당 가정에 따라 나머지 스크립트를 작성하십시오.

+0

그게 전부 야. 대단히 감사합니다! – eFarzad

1

찾았습니다. 문제가 간단 해졌습니다. XML 파일을 임시 테이블에 한 번만 가져올 수 있습니다.

"MyImportedTable FROM '(+ Col2의 +', '+ COL1 +') '을 MyTable 값으로 INSERT'SELECT" 은 그 때 나는이처럼 내 수입 된 데이터를 포함 함을 임시 테이블에 대한 선택 쿼리를 작성

이제 가져온 레코드 하나당 많은 명령을 삽입했습니다. 그리고 내 스크립트의 모든 삽입 명령을 저장합니다. 그래서 나는 어디에서나 필자의 스크립트 파일이 필요합니다.

관련 문제