Я написал следующий код для подключения к базе данных oracle с моим кодом c#:
private string GenerateConnectionString()
{
return "Data Source=( DESCRIPTION = ( ADDRESS_LIST = ( ADDRESS = ( PROTOCOL = TCP )( HOST = 192.168.X.XXX)( PORT = 1521 ) ) )( CONNECT_DATA = ( SERVER = DEDICATED )( SERVICE_NAME = XXXX ) ) ); User Id= xxxxxx; Password = xxxxxx;";
}
private void button1_Click_1(object sender, EventArgs e)
{
try
{
using (OracleConnection connection = new OracleConnection(GenerateConnectionString()))
{
connection.Open();
lblState.Text = connection.State.ToString();
OracleCommand oc = connection.CreateCommand();
oc.CommandText = "INSERT INTO TABLE (NO1, NO2, NO3, NO4, NO5, NO6, NO7, NO8, NO9, NO10, NO11, NO12, DATE) VALUES(1,2,3,1,1,1,'{txb_Textbox1.Text}',5,0.5,10,11,12,TO_DATE('09.07.2020 16:24:00', 'DD.MM.YYYY HH24:MI:SS'))";
oc.ExecuteNonQuery();
}
}
catch (Exception ex)
{
MessageBox.Show( "Exception: " + ex.Message );
lblState.Text = ex.Message;
}
}
Я также установил все необходимые драйверы для подключения к базе данных oracle и добавил System.Data.OracleClient.dll в качестве ссылки на мой проект c# и добавил файлы «oraocci19.dll» и «oraocci19d.dll» в файл проекта. Я также добавил клиента oracle в переменные системной среды в PATH. Кроме того, я объявил using System.Data.OracleClient;
в начале моего общего кода.
Пожалуйста, не говорите мне, что я не использую последние Oracle компоненты доступа к данным (ODAC). Я знаю это. У нас очень старая база данных Oracle, и мне нравится идея, что мне нужно установить всего несколько oracle dll, чтобы она работала.
Я просто не знаю, что делать, и потратил все Пятница и все выходные занимались исследованиями, чтобы я мог писать в базу данных Oracle. Я надеюсь, что кто-то из опытных сразу распознает проблему и сможет мне помочь. Заранее большое спасибо! :) С уважением
Edit1: Может быть, мне стоит попробовать другие Oracle компоненты доступа к данным (ODAC) и их библиотеки DLL. Но обычно мои файлы dll тоже должны работать. Мой коллега использовал мою установку ODA C и сказал, что с ней все работает. Но ему нужно было только читать данные из таблицы Oracle, а не записывать в одну.
Edit2: У меня проблема! Я смог найти решение. Это была ошибка в моем Oracle Подсказке в строке. Код C# был правильным. Здесь, в stackoverflow, я, конечно, переформулировал и обобщил строку приглашения Oracle, потому что она содержит надежные данные. Ошибка была в команде Oracle. Эту тему можно закрыть. Пит -С- получил правильный ответ!