Microsoft Data-Tier Application framework을 사용하여 DacPackage 개체를 기반으로 배포 스크립트를 만듭니다. 나는이 문제에 대한 대답은 내가 필요한 것을 것을 알고SQLCMD 모드의 ServerConnection.ExecuteNonQuery
Unhandled Exception: Microsoft.SqlServer.Management.Common.ExecutionFailureException:
An exception occurred while executing a Transact-SQL statement or batch. --->
System.Data.SqlClient.SqlException: Incorrect syntax near ':'.
...와 ... 그러나,이 스크립트를 실행하기 위해 Microsoft.SqlServer.Management.Smo.Server 클래스를 사용하는이 오류를
SqlConnection deployConnection = new SqlConnection(connBuilder.ToString());
deployConnection.Open();
Server server = new Server(new ServerConnection(deployConnection));
server.ConnectionContext.ExecuteNonQuery(deployScript);
을 시도하고있다 SQLCMD 모드에 있어야하지만, 내 ServerConnection이 상기 모드에서 실행되도록 지시하는 방법을 모르겠습니다.
내 문제는 제목에 명시된 것만 큼 구체적이지 않습니다. 내가 정말로 할 수 있기를 원하는 것은 .Net 프레임 워크를 통해 DacPackage에서 생성 된 스크립트를 실행하는 것입니다. 아무도 이것으로 나를 도울 수 있습니까?
그래서이 프로그램 닷넷 프레임 워크에서 생성 된 SQLCMD 스크립트를 실행 할 * 방법 * 없다 - 당신이 무슨 말을하는지이다? –
@ Danfordbes - 거의 예. 이 3 개의 프로그램 밖에는 그 콜론 명령이 무엇인지에 대한 단서가 없습니다. 그러나 C#에서 "SQLCMD.EXE -S server"에 대한 명령 줄을 호출하고 SQL 스크립트를 전달하기위한 스크립트 이름과 적절한 플래그를 제공하는 프로세스를 시작할 수 없다는 것을 의미하지는 않습니다. –
대단히 감사합니다, @srutzky! –