Я делаю приложение, которое отображает информацию о базовой базе данных. База данных может быть любой, но обычно это Oracle, MSSQL или MySQL. Я пытаюсь извлечь тип данных, но не могу понять, что это правильно. У меня есть DbConnection, потому что я не знаю, нужен ли мне OleDbConnection
или OdbcConnection
. В связи с этим я делаю GetSchema("Columns", "mytablename")
запрос и получаю результат обратно. Кажется, однако, что есть некоторые несоответствия с моими типами данных, или запрос возвращает разные типы данных для разных баз данных.
Например, в моей базе данных MSSQL я запрашиваю и получаю целое число назад (которое кажется OleDbType
), которое я сопоставляю с типом данных. Мои varchars теперь имеют тип char
- без длины - и это немного смущает меня.
Полагаю, мой главный вопрос звучит примерно так: есть ли способ сделать единый способ извлечения типов данных между провайдерами и иметь «точное» представление типа данных?