Функция недоступна, исключение возникает при вставке записей в базу данных Visual Fox Pro из c# (. NET) - PullRequest
0 голосов
/ 26 мая 2020

Приведенный ниже код для вставки в Fox pro db из c# работает, если я отключу триггер вставки в таблице fox pro.

try
{
    string query = @"insert into TERMS (VENDOR,TERMINAL,TERM) values(?,?,?)";
    OleDbConnection sourceConn = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source=E:\repos\Database\log");
    using (OleDbCommand cmd = new OleDbCommand(query, sourceConn))
    {
        cmd.CommandType = CommandType.Text;
        cmd.CommandTimeout = 1000;
        OleDbDataAdapter sqlDataAdapter = new OleDbDataAdapter();
        sourceConn.Open();
        cmd.Parameters.AddWithValue("?", "sws1");
        cmd.Parameters.AddWithValue("?", "sa1");
        cmd.Parameters.AddWithValue("?", "ds1");
        cmd.ExecuteNonQuery();
        sourceConn.Close();
    }
}
catch (Exception ex)
{

}

Если я активирую триггер в таблице Fox pro, я получаю сообщение об ошибке как «Функция недоступна» Триггер вставки, примененный к таблице fox pro, выглядит следующим образом:

insertlog("terms",RECNO(),"I")

Я могу вставить запись в таблицу fox pro из Visual Fox pro и триггер работает, добавляя запись журнала в другую таблицу.

Спасибо за любые подсказки по этому поводу.

1 Ответ

1 голос
/ 26 мая 2020

Есть ли в функции Insertlog () код, который не поддерживается драйвером OLEDB? Если у вас есть Visual FoxPro, найдите в файле справки «Неподдерживаемые команды и функции Visual FoxPro в поставщике OLE DB» и проверьте свой код триггера.

...