Проблемы с подключением ODBC: ошибка последовательности функций при выполнении чего-либо
Мне было поручено выполнить однократную миграцию из базы данных 4D в нашу структуру MSSQL. У меня есть источник данных, настроенный в Администраторе ODBC, и я смог подключиться к нему без проблем.
Я "реверс-инжиниринг" схемы в Visio, так что я могу получить хорошее визуальное представление отношений между таблицами и планировать, как я собираюсь переструктурировать данные 4D, чтобы вписаться в нашу схему. Я создал простое консольное приложение, поскольку это будет одноразовый запуск, и я могу сделать подключение к источнику данных, но как только я выполняю что-либо, соединение прерывается или отключается.
System.Data.Odbc.OdbcConnection conn =
new System.Data.Odbc.OdbcConnection("Dsn=4D v12 datasource");
try
{
conn.Open();
Console.WriteLine("Status of Connection:" + conn.State.ToString());
//Here it says the connection to the DB is open and ready for action
Console.ReadLine();
//pause to visually confirm the connection is open
OdbcCommand com = new OdbcCommand("SELECT * FROM ATable", conn);
com.CommandType = CommandType.Text;
Console.Write(com.ExecuteNonQuery());
//Right here it blows up and closes the connection
}
Я также пытался что-то сделать с набором данных и адаптером данных, но безрезультатно.
System.Data.Odbc.OdbcConnection conn = new System.Data.Odbc.OdbcConnection("Dsn=4D v12 datasource");
try
{
conn.Open();
Console.WriteLine("Status of Connection:" + conn.State.ToString());
Console.ReadLine();
OdbcCommand com = new OdbcCommand("SELECT * FROM ATable", conn);
com.CommandType = CommandType.Text;
//Also tried using data sets and data adapters
DataSet dsTest = new DataSet();
OdbcDataAdapter dataAdapter = new OdbcDataAdapter(com);
//but right at this line the connection suddenly disconnects
dataAdapter.Fill(dsTest);
}
catch (Exception e)
{
Console.WriteLine("Failure:" + e.Message.ToString());
// the exception message reads simply connection has been disabled.
Console.WriteLine("Status of Connection: " + conn.State.ToString());
Console.ReadLine();
}
finally
{
Console.Write("Closing connection.");
conn.Close();
Console.Write(".");
conn.Dispose();
Console.WriteLine(".");
Console.WriteLine("Connection Closed and Disposed");
Console.ReadLine();
}
Я пытался найти кого-нибудь, кто испытывал бы те же трудности, но документация, которую я нашел, была скудной и не очень полезной в этом конкретном отношении. Существует большое количество информации о выполнении запросов на 4D продукт, но не со всей цифровой делить. Кто-нибудь с опытом, пожалуйста, посоветуйте. Спасибо за ваше время и за любую помощь, которую вы можете оказать, заядлый читатель.