C# design and execute stored procedure, managed by code in C#

Status
Niet open voor verdere reacties.

nille

Gebruiker
Lid geworden
28 apr 2009
Berichten
19
Hallo iedereen,

mijn probleem gaat over het maken en uitvoeren van een stored procedure, maar dan vanuit code in C#.

Het volgende heb ik al:

Code:
public static void Create_spOmzetArtikels(Boolean clrEnabled)
        {
            if (clrEnabled)
            {
                if (!SqlContext.IsAvailable)
                   ClrEnabled();
            }

            //if (SqlContext.IsAvailable)
            //{
                
                //using (SqlConnection conn = _SQLConnection)
                using (SqlConnection conn = new SqlConnection("context connection=true"))
                {
                    SqlCommand InsertCurrencyCommand = new SqlCommand();
                    SqlParameter currencyCodeParam = new SqlParameter("@CurrencyCode", SqlDbType.NVarChar);
                    SqlParameter nameParam = new SqlParameter("@Name", SqlDbType.NVarChar);
                    InsertCurrencyCommand.CommandText = "INSERT Sales.Currency (CurrencyCode, Name, ModifiedDate)" + " VALUES(@CurrencyCode, @Name)";
                    InsertCurrencyCommand.Connection = conn;
                    conn.Open();
                    //InsertCurrencyCommand.ExecuteNonQuery();
                    SqlContext.Pipe.ExecuteAndSend(InsertCurrencyCommand);
                    conn.Close();
                }
            //}
            //else
            //    MessageBox.Show("The SqlContext can't be accessed!!");
        }

en dan wordt deze opgeroepen (staat default off in SQL Server):

Code:
private static void ClrEnabled()
        {
            //Enable CLR on SQL-Server!
            SqlConnection conn = _SQLConnection;
            try { conn.Open(); }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
            try
            {
                SqlCommand command = new SqlCommand(
                                "EXEC sp_configure 'clr enabled', 1; " +
                                "RECONFIGURE", conn);

                command.ExecuteNonQuery();
            }
            catch (Exception ex){ MessageBox.Show(ex.Message); }
            try { conn.Close(); }
            catch (Exception ex) { MessageBox.Show(ex.Message); }
        }




Mijn fout is bij de volgende lijn:
SqlConnection conn = new SqlConnection("context connection=true")



foutboodschap:
InvalidOperationException was handled.
The requested operation requires a SqlClr context, which is only available when running in the Sql Server process.



Weet iemand de juiste oorzaak en hopelijk een goed oplossing aub?

(NB; heb een foto als bijlage toegevoegd!)

Alvast bedankt, nille.
 

Bijlagen

  • example error.jpg
    example error.jpg
    89,5 KB · Weergaven: 25
Laatst bewerkt:
Is er iemand die mij hiermee kan helpen aub?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan