Есть ли способ обнаружить SQL Dialect, не зная тип базы данных? - PullRequest
0 голосов
/ 17 октября 2019

Я использую Dbeaver для подключения через ODBC к базе данных. Я понятия не имею, что это за база данных. Это может быть собственностью. Кто знает?

Есть ли способ выяснить, какой диалект SQL использовать? Операторы LIMIT не работают, и я не хочу разрушать вещи, выбирая * весь день.

Я пробовал пару других способов ограничить результаты - https://en.wikipedia.org/wiki/Select_(SQL)#Limiting_result_rows - но яНе удалось найти вариант, который работал.

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

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Предполагая, что вы выполняете эту идентификацию сервера базы данных один раз, вы можете выдавать запросы, чтобы узнать, какие из них работают, или не удается определить тип сервера базы данных.

Для SQL Server существует много таких, как выбор одного из@@ variable Select @@version.

Для Oracle: Select 1 FROM DUAL;

Оба запроса не изменяют никаких данных и должны выполняться быстро. Для других серверов баз данных есть другие эквивалентные.

Можно также посмотреть строку подключения и выяснить, какой тип драйвера базы данных используется.

0 голосов
/ 17 октября 2019

Попробовал еще несколько операторов в предельном стиле и обнаружил, что это SQL Server / Access

...