Как создать исходный текст для подключения к серверу SQL - PullRequest
1 голос
/ 09 ноября 2009

У меня проблемы с подключением моего кода Java к базе данных сервера SQL. Я могу подключиться с сервера приложений просто отлично ... но теперь я хочу попробовать подключиться к серверу приложений из картинки и использовать InitialContext с некоторыми свойствами env Таким образом, отдельный Java-класс подключается к серверу sql, используя InitialContext

У меня в библиотеках моих проектов mssqlserver.jar. Нужна ли мне еще какая-нибудь банка?

Я искал пример кода, но не знаю, что вставить Context.INITIAL_CONTEXT_FACTORY

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, "what do i put here?");
env.put("java.naming.factory.initial",
"what do i put here?");
...
what other properties would I need?

на сервере приложений у меня есть следующие свойства.

datasourceName = mydb
user = myuser
port = 1433
password = mypwd
databaseName = mydb
servername = localhost

Ответы [ 3 ]

1 голос
/ 09 ноября 2009

Вы не на правильном пути здесь. InitialContext строго о сервере приложений. Чтобы подключиться к базе данных напрямую, без сервера приложений, необходимо создать собственное соединение JDBC с базой данных или использовать другую реализацию пула соединений JDBC.

0 голосов
/ 09 ноября 2009

Может оказаться полезным обратиться к учебнику JDBC , вы увидите, что вы можете использовать DriverManager для получения соединения. Подход JNDI, с которым вы знакомы, является хорошей общей абстракцией для предоставления доступа ко всем видам сервисов, предоставляемых в среде AppServer. Для автономных приложений обычно используются только сырые API.

0 голосов
/ 09 ноября 2009

Прежде всего, почему бы вам просто не использовать DriverManager#getConnection() для этого? Внедрение и использование JNDI в (простом) клиентском приложении - слишком много усилий для относительно небольшой пользы.

Средний сервер приложений поставляется со своей собственной реализацией JNDI, так что вам не нужно беспокоиться о создании / определении / настройке его самостоятельно.

Если вы действительно хотите использовать JNDI в клиентском приложении, запустите здесь . Много удачи с этим.

...