Могу ли я использовать переменные связывания с odp.net и Oracle 8i? - PullRequest
1 голос
/ 07 апреля 2010

из-за отсутствия тестовой среды мне нужно знать, будет ли работать следующий сценарий:

Я установил поставщик данных Oracle для .Net версии 9.2.0.4. На производстве мне придется общаться из моего приложения на C # с двумя базами данных, Oracle 8i и 9i.

Поддерживает ли Oracle 8i переменные связывания в этом сценарии?

Я, вероятно, буду использовать код, подобный следующему:

Заранее спасибо!

OracleCommand cmd = con.CreateCommand();

  OracleTransaction txn = con.BeginTransaction();

  try {
    cmd.CommandText = "update MayJun2009 " +
                      "set balance = balance + :1 " +
                      "where account_id = :2";

      OracleParameter pBalance = new OracleParameter();
    pBalance.OracleDbType = OracleDbType.Int32;
    OracleParameter pAccount = new OracleParameter();
    pAccount.OracleDbType = OracleDbType.Int32;

    cmd.Parameters.Add(pBalance);
    cmd.Parameters.Add(pAccount);

    pBalance.Value = -500;
    pAccount.Value = 1;

    cmd.ExecuteNonQuery();

    pBalance.Value = 500;
    pAccount.Value = 2;

    cmd.ExecuteNonQuery();

    txn.Commit();
  }
  catch (OracleException ex) {
    txn.Rollback();
  }

Ответы [ 2 ]

1 голос
/ 07 апреля 2010

Да, в этом примере должны использоваться переменные связывания, не важно, является ли это Oracle 8 или 9i.Вы можете сделать трассировку базы данных, чтобы проверить наверняка.Другой пример привязок для C # приведен здесь:

Построение провайдера данных Oracle для приложения .NET

0 голосов
/ 07 апреля 2010

Если ваше приложение использует клиент 9iR2 или более поздней версии, что в вашем случае верно, вы можете подключиться к Oracle8i (или даже к прямому Oracle8) базам данных .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...