Według dokumentacji
ODP.NET, zarządzany sterownik nie zależy od NLS_LANG ustawienia, tylko w lokalizacji .NET.
Sprawdź swoje CultureInfo.CurrentCulture wartość. Ta strona Jak:ustawić kulturę i kulturę interfejsu użytkownika dla strony sieci Web ASP.NET Globalizacja
powinien ci pomóc. Musisz ustawić kulturę, która obsługuje znaki arabskie.
Sprawdź ponownie, czy typ danych kolumny SP_FLG to NVARCHAR2 ewent. NCLOB (nie VARCHAR2 )
Spróbuj także użyć zmiennych wiązania:
cmd.CommandText = "UPDATE SHAHR_POS SET SP_FLG = :val"
cmd.Parameters.Add("val", OracleDbType.NVarchar2, ParameterDirection.Input).Value = "سلام"