Почему запрос JDBC-совместимой базы данных из Oracle не так прост, как круговой - PullRequest
0 голосов
/ 13 октября 2008

Хорошо, так что почти так же просто, как пирог. Но это действительно должно быть так же просто, как есть.

Я думаю, что смогу подключиться к другой базе данных, просто вставив строку подключения JDBC в TNSNAMES. У каждого поставщика базы данных есть драйвер JDBC типа 4, и обычно есть хорошая бесплатная альтернатива.

Учитывая то, что Oracle был таким увлеченным поклонником Java, и с JVM, встроенной в базу данных, я бы подумал, что технология связывания на основе JDBC была бы простой задачей. Кажется естественным расширением иметь строку подключения JDBC в TNSNAMES, и все будет "просто работать" - вы можете "sql * plus" ко всему.

Но так не работает. Если вы хотите подключиться к другой базе данных, отличной от Oracle, вам нужно купить что-то, называемое Oracle Gateways, или возиться с ODBC (через то, что называется Generic Connectivity).

[ Предупреждение об оригинальности ... Это относится к моему предыдущему вопросу , но кто-то предложил мне добавить дополнительный комментарий в качестве отдельного вопроса. Кто я такой, чтобы спорить?]

Ответы [ 4 ]

2 голосов
/ 14 октября 2008

Ответ такой же, как и на следующие вопросы:

  1. Почему Oracle не предоставляет эффективный способ выгрузки данных в непатентованный формат (например, через запятую или XML)
  2. Почему большинство продуктов Oracle, не относящихся к БД, работают только с СУБД Oracle? (без использования Oracle Database Gateways)

Вы когда-либо слышали о концепции Блокировка поставщика ?

1 голос
/ 14 октября 2008

Я, конечно, думаю, что вопрос был несколько риторическим, и его нужно принимать с большой долей соли. : -)

В этом духе подходящим легкомысленным ответом может быть «потому что они не хотят, чтобы вы использовали чужую базу данных»?

0 голосов
/ 14 октября 2008

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

Я не могу защищать Oracle, но у меня не было проблем с тонким драйвером JDBC. (Если вы читаете документы oracle jdbc, они не рекомендуют вам использовать oci, если у вас нет веских причин.

Соедините его с JNDI (на сервере приложений j2ee), и все ваши проблемы с управлением соединениями будут устранены.

0 голосов
/ 14 октября 2008

Это настоящий вопрос - возможно, немного шутливый, но, конечно, не риторический. В интересах Oracle сделать так, чтобы доступ к данным других людей был действительно простым. На данный момент есть много способов сделать это, но нет достаточно простых. В базе данных есть JVM и драйверы JDBC для каждой другой базы данных - она ​​должна «просто работать», поэтому я могу только предположить, что она не была «просто работать» по какой-то причине.

Мой вопрос: знает ли кто-нибудь эту причину? Кто-нибудь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...