powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / tnsnames.ora
25 сообщений из 37, страница 1 из 2
tnsnames.ora
    #39600624
Aleks_Aleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день
Вот что находится у меня в файле tnsnames.ora:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
MY_TEST=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=host-test)
      (PORT=1521))
    (CONNECT_DATA=
      (SERVER=dedicated)
      (SERVICE_NAME=servtest)))


Вот строка подключения к БД:

Код: java
1.
DriverManager.getConnection("jdbc:oracle:thin:@host-test:1521:servtest", "LOGIN", "PASS");


Как можно сделать, что бы в окошке авторизации, из выподающего списка, было видно название соединения MY_TEST
а после выбора из списка MY_TEST, host-test и servtest подтягивались автоматически до коннекта к БД,

или

на окошке авторизации вручную ввести MY_TEST, но что бы HOST=host-test и SERVICE_NAME=servtest подтягивались автоматически?

Спасибо!
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600626
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это доку дравера надо листать.
Есть варианты, но не так всё просто:
https://docs.oracle.com/cd/B19306_01/java.102/b14355/urls.htm#BEIDIJCE
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600632
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600633
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleks_Aleksна окошке авторизации вручную ввести MY_TEST, но что бы HOST=host-test и SERVICE_NAME=servtest подтягивались автоматически?делай это руками, без TNS.
Т.к. tns это когда клент для оракла стоит на машине клиента
Код: java
1.
GetConnection("jdbc:oracle:oci8:@MY_TEST.....
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600636
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделать свое окошко для ввода имени-пароля.

Два text item, один list box и две кнопки (Ok, Cancel)
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600656
Aleks_Aleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Спасибо, работает, то что нужно.

Вот что обнаружил,

Код: java
1.
2.
Class.forName("oracle.jdbc.OracleDriver"); 
Class.forName("oracle.jdbc.driver.OracleDriver");


какая из двух строк правильная (и первая и вторая работает) и в чем отличие ?
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600660
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleks_Aleks,

Никакая не правильная. В актуальных версиях JDBC это уже не нужно.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600663
Aleks_Aleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Вот это поворот...
а я писал )

Спасибо!
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600677
Aleks_Aleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

у нас поумолчанию на всех машинах есть оракл клиент
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600685
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleks_AleksPetro123,

у нас поумолчанию на всех машинах есть оракл клиенток.
Тогда пиши тут итоговый рабочий вариант. Заработало?
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600699
Aleks_Aleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

Это код для теста подключений, просьба к корректности не придираться )

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Main {
	public static void main(String[] args) throws SQLException {

		Connection myConn = null;
		Statement myStmt = null;
		ResultSet myRes = null;

		String connectName;
		String userName;
		String password;

		connectName = "MY_TEST";
		userName = "USER1";
		password = "PASSUSER1";

		try {
			System.setProperty("oracle.net.tns_admin", "d:\\Oracle\\product\\12.1.0\\client_1\\network\\admin\\");
			String url = "jdbc:oracle:thin:@" + connectName;
			myConn = DriverManager.getConnection(url, userName, password);
			myStmt = myConn.createStatement();
			myRes = myStmt.executeQuery("select name from user");
			
			while (myRes.next()) {
				System.out.print(myRes.getString("name"));
			}
		} catch (SQLException e) {
			System.out.println("ERROR");
		} finally {
			try {
				if (myStmt != null) {
					myStmt.close();
				}
				if (myRes != null) {
					myRes.close();
				}
				if (myConn != null) {
					myConn.close();
				}
			} catch (SQLException e) {
				System.out.println("ERROR 2");
			}
		}

	}
}
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600715
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleks_Aleks,
Да. По другому. Раньше было oci8 и бралось из реестра tns.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600766
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleks_AleksВот что находится у меня в файле tnsnames.ora:
...
Вот строка подключения к БД:
Код: plaintext
 jdbc:oracle: thin :@host-test:1521:servtest
"Тонкий" клиент - ява-пюре и ему до лампочки и tnsnames в частности и наличие "нативного" клиента - вообще.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600769
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,
Да. Но они хотят почему то)))
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600945
Aleks_Aleks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то я все...

Вы о чем друзья?

Был задан вопрос, был получен ответ...

Какие оси, какое пюре, какой на*рен реестр...

ОСИ !?

Код: java
1.
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Windows\System32\ocijdbc12.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform


Спасибо не стоит... - потому что мы хотим, почему то!

ТЕМА ЗАКРЫТА.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39600950
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleks_Aleks,
Тема принадлежит публичному обществу а не тебе.
Говорилось про то что клиент оракла на каждую машинку ставить не обязательно. Можно Просто jar с приложением.
Выше написано, что у вас по умолчанию на каждой клиент.
Никто ни против).
...
Рейтинг: 0 / 0
tnsnames.ora
    #39734640
wellvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Интересует момент, при подключении к БД Oracle использую System propety(System.setProperty), все норм...
но в данном случае все будет работать, если известен заранее service name и он прописывается в коде, а есть возможность, извлекать все существующие service name из файла Tnsname.ora и в зависимости от выбора пользователя- вставлять в код?
Код: java
1.
tring dbURL = "jdbc:oracle:thin:@"+V_SERVICE_NAME;
...
Рейтинг: 0 / 0
tnsnames.ora
    #39734652
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wellvk,
name это типа имя бд удаленной. Т. к. на одном ip их может быть много.
Заранее узнать нельзя т.к. оно на сервере удаленном в tnsnames.
А у тебя просто кто то прописал руками.
Можешь программно прочесть и взять себе.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39734832
wellvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Если, допустим, на сервере где запускаем jar есть данный файл(tnsnames.ora) - я могу просто тогда распаристь и вытащить из него все serveci name и подставить нужные на место переменной V_SERVICE_NAME? Думал что есть более "продвинутый способ".
...
Рейтинг: 0 / 0
tnsnames.ora
    #39734841
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wellvkPetro123,
Если, допустим, на сервере где запускаем jar есть данный файл(tnsnames.ora) - я могу просто тогда распаристь и вытащить из него все serveci name и подставить нужные на место переменной V_SERVICE_NAME? Думал что есть более "продвинутый способ".
какой продвинутый, если:
- в том файле имена ставятся руками?
- этого файла и клиента оракла на машине может не быть
- есть более продвинутый способ когда в jar уже есть драйвер оракла и tnsnames на клиентской машине ВООБЩЕ НЕ НУЖЕН.
Получается что ты хочешь брать имена из файла во вторник, когда ты сам их туда записал в понедельник.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39734842
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wellvkДумал что есть более "продвинутый способ".
не ставить клиент оракла на клиента, а брать драйвер из jar.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39734845
wellvk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123, понимаю, что звучит странно, но максимально упрощаю вопрос: можно ли не парся tnsnames.ora выбрать все service name ?
Задача: зная директорию tnsnames.ora, "вытащить" из него все сервисы.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39734871
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wellvk,
Бери и читай этот файл.
В него пишут РУКАМИ.
Три раза написал.
...
Рейтинг: 0 / 0
tnsnames.ora
    #39735106
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleks_Aleks,

1. В любой файл типа properties записать что-то типа
Код: java
1.
MY_TEST=jdbc:oracle:thin:@host-test:1521:servtest


а tnsnames.ora вместе а оракловым клиентом выбросить нафиг.

2. Другой подход - использовать OCI драйвер с оракловым клиентом. Читайте тут про TNS_ADMIN. Работает примерно так, допустим у вас есть в tnsnames.ora
Код: java
1.
2.
 conn_str = (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=server6)(PORT=1573))
(CONNECT_DATA=(SERVICE_NAME=rdbms3.server6.us.alchemy.com)))


Ваша строка подключения будет выглядеть примерно так
Код: java
1.
url = "jdbc:oracle:oci:@conn_str"
...
Рейтинг: 0 / 0
tnsnames.ora
    #39735116
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrickа tnsnames.ora вместе а оракловым клиентом выбросить нафиг.согласен. Но он уперся нафиг рогом и все тут))).
Ждал когда ему прямо коннект напишут с дровами в программе а не на машине заказчика.
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / tnsnames.ora
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]