sql >> Databasteknik >  >> RDS >> Oracle

Kör SQL Alter-kommandon för varje session med Entity Framework 5 som pratar med Oracle 11g

du kan använda metoden Database.Connection.StateChange

    public AtomContext(string nameOrConnectionString)
        : base(nameOrConnectionString)
    {
        this.Database.Connection.StateChange += Connection_StateChange;
    }

    void Connection_StateChange(object sender, StateChangeEventArgs e)
    {
        if (e.OriginalState == ConnectionState.Open || e.CurrentState != ConnectionState.Open)
            return;

        IDbConnection connection = ((EntityConnection)((IObjectContextAdapter)this).ObjectContext.Connection).StoreConnection;
        using (IDbCommand command = connection.CreateCommand("ALTER SESSION SET NLS_LANGUAGE=TURKISH"))
            command.ExecuteNonQuery();

        using (IDbCommand command = connection.CreateCommand("ALTER SESSION SET NLS_COMP = LINGUISTIC"))
            command.ExecuteNonQuery();

        using (IDbCommand command = connection.CreateCommand("ALTER SESSION SET NLS_SORT=TURKISH_AI"))
            command.ExecuteNonQuery();
    }



  1. Konvertera MySQL:s POINT till text i PHP

  2. Begäran misslyckades med HTTP-status 401:Obehörig I SSRS

  3. är det bättre att escape/koda användarinmatningen innan du lagrar den i databasen eller att lagra den som den är i databasen och escape den under hämtning?

  4. Går med och tar bort kartesiska produkter