[MS-Sql] SQLCLR - gleichzeitig mehrfacher Zugriff auf die Daten

d-Stench

Erfahrenes Mitglied
Hallo Leute!

Wie geht es Euch? ;)

Habe ein kleines Problem mit dem ich eigendlich so nicht gerechnet habe. In den Büchern, die ich da habe (Das Programmierhandbuch SQL Server 2005 // Galileo Computing & SQL Server 2005 der schnelle Einstieg // ADDISON-Wesley), bin nicht fündig geworden.

Warum ist folgendes in einer Prozedur (serverseitig) nicht möglich:

Code:
...

SqlConnection dbConn1 = new SqlConnection("Context connection=true");
SqlConnection dbConn2 = new SqlConnection("Context connection=true");

SqlCommand dbCommand1 = new SqlCommand("SELECT name FROM tabelle1", dbConn1);
SqlCommand dbCommand2 = new SqlCommand();
dbCommand2.Connection = dbConn2;

dbConn1.Open();
SqlDataReader dbReader = dbCommand1.ExecuteReader();
while(dbReader.Read())
{
   dbCommand2.Commandtext = "INSERT INTO tabelle2(name) VALUES('"+dbReader.GetString(0)+"')";
   dbConn2.Open();  //'FEHLER' AN DIESER STELLE.
   dbCommand2.ExecuteNonQuery();
   dbConn2.Close();
}
dbReader.Close();
dbConn1.Close();

...

Ich bekomme eine Exception, wenn es versucht wird 'dbConn2.Open()' auszuführen. Die Fehlermeldung lautet dann, dass die Context connection bereits verwendet wird.

Ich habe doch zwei unterschidliche Objekte! Auf dem Client kann ich ja zwei verbingen zur einer Datenbank paralles offen haben und Daten hin und her senden. Warum ist es hier nicht möglich?

Gibt es eine Alternativlösung/-vorschlag?

Danke für jeden Hinweis

Gruß
d-Stench
 
Zurück