2009-11-11 2 views
1

좋아, 그래서 약간의 SQL 및 Powershell 문제가 발생했습니다. 2 개의 SQL 스크립트가 있으며 하나는 4 개의 다른 전역 저장 프로 시저를 설정합니다. 또 다른 하나는 PS를 CSV 파일로 가져 오기 전에 데이터를 실행하고 데이터를 조작하는 것입니다. 단일 파일에 두지 않는 이유는 가독성 때문입니다. procs는 SQL의 거대한 덩어리를 감싸고 있으며 프로덕션 환경에서는 영구 procs를 만들 수 없습니다.powershell에서 실행 한 SQL에서 다중 저장 프로 시저 만들기 문제

내가 실행 해요 문제는 스크립트가 SQL MGMT Studio에서 잘 실행하지만 PS에 의해 실행했을 때, 내가 스크립트의 '이동의 주위에 몇 가지 오류를 얻을 수있다.

은 내가 손해를보고있어 ...이 실행하고 데이터 집합을 반환하지만 때 PS 및 .NET 클래스가 기대하는 형식에 문제가 확실 해요.

나는 SQL Server 2005의 BTW를 실행하고 있습니다.

어떤 아이디어 나 비슷한 경험?

답변

2

어떤 오류가 있습니까? 어떻게 각 파일을 실행하고 있습니까? GO는 특정 도구 (예 : Management Studio)에서만 이해할 수있는 배치 구분 기호입니다. PowerShell은 GO가 무엇을 의미하는지 알지 못합니다. GO 명령을 실행하지 않고 별도의 CREATE PROCEDURE 스크립트를 실행 해 보았습니까? 별도의 명령 인 경우에는 문제가되지 않습니다.

+0

나는 go 문을 제거하려고 시도했지만 키워드 'procedure'근처에 'Incorrect syntax'가 표시됩니다. 나는 이것이 사소한 것이지만 내 인생을 구하기 위해 무엇을 생각할 수 없는지를 안다. – CLR

+0

그 시점에서 PowerShell은 정확히 SQL Server로 무엇입니까? 완전히 CREATE PROCEDURE 스크립트가 아닌 것 같습니다. 아마도 PowerShell이 ​​실행되기 전에이 파일들을 함께 묶는 도구를 사용해야 할 것입니다. 왜냐하면 PowerShell이하는 일을 정확히 제어하거나 파악할 수 없기 때문입니다. 그렇지 않으면 우리에게 효과적으로 전달할 수 없습니다. –

2

"GO"는 SQL Management Studio를 사용하는 구분자이다. 올바른 SQL 키워드가 아닙니다. 원하는 경우 SQL Management Studio를 구성하고 "GO"를 "ENGAGE"로 변경할 수 있습니다.

그냥 제거 스크립트에서 "GO".

관련 문제