2009-06-30 15 views
0

Ich habe eingerichtet und konfiguriert SubSonic für die Arbeit mit einer C# -Anwendung, die ich schreibe. Ich kann die Data Wrapper-Klassen generieren und sie perfekt in meinem Code verwenden, aber wann immer ich bereit bin, das Schema über das Subcommander-Tool mit den Argumenten "version \ out FileLocation" zu scripten, erhalte ich einen Fehler (siehe Fehlermeldung unten) .SubSonic 2.2 "Version" Fehler

Es hat früher funktioniert, aber ich habe seitdem einige Schemaänderungen an meiner Datenbank vorgenommen.

Gibt es bestimmte allgemeine Einschränkungen und Einschränkungen des SubSonic-Versionsbefehls, soweit es die Schemastruktur betrifft (berechnete Spalten, Funktionen oder gespeicherte Prozeduren mit "for xml" usw.)? Vielen Dank im Voraus für jede Aufklärung jemand zu diesem Thema zur Verfügung stellen könnte ...

ERROR: Der Versuch, Version Nachricht Fehler auszuführen: Microsoft.SqlServer.Management.Smo.FailedOperationException: Script Übertragung fehlgeschlagen. ---> Microsoft.SqlServer.Management.Smo.SmoException: Beim Ausführen einer Transact-SQL-Anweisung ist eine Ausnahmebedingung aufgetreten. ---> Microsoft.SqlServer.Management.Common.ExecutionFailureException: Beim Ausführen einer Transact-SQL-Anweisung oder eines Stapels ist eine Ausnahmebedingung aufgetreten. ---> System.Data.SqlClient.SqlException: Eine Transaktion, die in einem MARS-Batch gestartet wurde, ist am Ende des Batchs noch aktiv. Die Transaktion wird zurückgesetzt. bei System.Data.SqlClient.SqlConnection.OnError (SqlException Ausnahme, Boolean Breakconnection) bei System.Data.SqlClient.SqlInternalConnection.OnError (SqlException Ausnahme, Boolean Breakconnection) bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) bei System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand CmdHandler, SqlDataReader Datenstrom, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) bei System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds (String methoden, Boolean async) bei System. Data.SqlClient.SqlCommand.InternalExecuteNonQuery (DbAsyncResult-Ergebnis, String-Methodenname, Boolean-sendToPipe) bei System.Data.SqlClient.SqlCommand.ExecuteNonQuery() a t Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (Zeichenfolge sqlCommand, ExecutionTypes executionType) --- Ende der inneren Ausnahmestapelaufzeichnung --- bei Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery (String sqlCommand, ExecutionTypes executionType) bei Microsoft.SqlServer.Management.Smo.ExecuteSql.ExecuteImmediate (String query) bei Microsoft.SqlServer.Management.Smo.ExecuteSql.ExecuteWithResults (String Abfrage, Objekt con) bei Microsoft.SqlServer.Management.Smo.SqlEnumDependencies .EnumDependencies (Objekt ci, DependencyRequest rd) bei Microsoft.SqlServer.Management.Smo.Enumerator.EnumDependencies (Object connectionInfo, DependencyRequest Abhängigkeitsanforderung) bei Microsoft.SqlServer.Management.Smo.ExecutionManager.GetDependencies (DependencyRequest dependencyRequest) --- Ende der Ausnahmestapelüberwachung --- bei Microsoft.SqlServer.Management.Smo.ExecutionManager.GetDependencies (DependencyRequest dependencyRequest) bei Microsoft.SqlServer.Management.Smo.Transfer.GetObjectList() bei Microsoft.SqlServer.Management.Smo.Transfer.ScriptTransfer() --- Ende der inneren Ausnahme Stack-Trace --- bei Microsoft.SqlServer.Management.Smo.Transfer.ScriptTransfer() bei SubSonic.SubCommander.DBScripter. ScriptSchema (String connectionString) in C: \ svn \ subsonicproject \ Stamm \ SubCommander \ DBScripter.cs: Zeile 73 bei SubSonic.SubCommander.Program.ScriptSchema() in C: \ svn \ subsonicproject \ Stamm \ SubCommander \ Program.cs: Zeile 696 bei SubSonic.SubCommander.Program.Ma in (String [] args) in C: \ svn \ subsonicproject \ Stamm \ SubCommander \ Program.cs: line 68 Ausführungszeit: 6833ms

Antwort

0

Ok, ich fand es selbst heraus, apparent hatte es etwas mit meiner Verbindungszeichenfolge zu tun, die ursprünglich die folgenden Informationen enthielt ServerName; Catalog; UserName; Password; Persist Security Info = wahr; Maximale Poolgröße = pool_size; Asynchronus-Verarbeitung = wahr;

Ich nahm die maximale Größe der Poolgröße, die persistente Sicherheitsinformationen und die asynchronen Verarbeitungsspezifikationen aus meiner Verbindungszeichenfolge und der Viola! Es klappt. Danke trotzdem ...