powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / MB7 JavaCompute Node + Microsoft SQL Server via JDBC
4 сообщений из 4, страница 1 из 1
MB7 JavaCompute Node + Microsoft SQL Server via JDBC
    #36896429
vasandgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Собственно не могу подключиться к MSSQL Express 2005 через JDBC в Message Broker.
Удалённые соединения разрешены, тот же драйвер в голой JAva работает на ура.
Так настроен JDBCProviders:
Код: plaintext
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.
mqsireportproperties MB7BROKER -o Microsoft_SQL_Server -c JDBCProviders -r

JDBCProviders
  Microsoft_SQL_Server
    connectionUrlFormat='jdbc:sqlserver://[serverName]:[portNumber];databaseName
:[databaseName];user=[user];password=[password];'
    connectionUrlFormatAttr1=''
    connectionUrlFormatAttr2=''
    connectionUrlFormatAttr3=''
    connectionUrlFormatAttr4=''
    connectionUrlFormatAttr5=''
    databaseName='esb_system1'
    databaseType='Microsoft SQL Server'
    databaseVersion='9.0.4035'
    description='SAMPLE database'
    environmentParms='default_none'
    jarsURL='F:\mssql_2k5'
    portNumber='1211'
    securityIdentity='Microsoft_SQL_Server'
    serverName='COMP1\SQLEXPRESS'
    type4DatasourceClassName='com.microsoft.sqlserver.jdbc.SQLServerXADataSource
'
    type4DriverClassName='com.microsoft.sqlserver.jdbc.SQLServerDriver'

BIP8071I: Successful command completion.
это код JavaCompute Node:
Код: plaintext
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.
public void evaluate(MbMessageAssembly assembly) throws MbException {
		MbOutputTerminal out = getOutputTerminal("out");
		MbMessage message = assembly.getMessage();
		// ----------------------------------------------------------
		// Add user code below
		try {
			String jdbcConn = "Microsoft_SQL_Server";
			System.out.println("Begin connection "+jdbcConn);
			Connection conn = getJDBCType4Connection(jdbcConn, JDBC_TransactionType.MB_TRANSACTION_AUTO);
			System.out.println("End connectont");
			Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
			ResultSet rs = stmt.executeQuery("SELECT * FROM tb_shops");
			while (rs.next()) {
				System.out.println(rs.getString( 1 ));
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println(e.getMessage());
		}
		// End of user code
		// ----------------------------------------------------------

		// The following should only be changed
		// if not propagating message to the 'out' terminal

		out.propagate(assembly);
Исключение вываливаеться на строке getJDBCType4Connection(jdbcConn,JDBC_TransactionType.MB_TRANSACTION_AUTO); с текстом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Begin connection Microsoft_SQL_Server
[BIPmsgs: 6233 ]BIP6233E: An error occurred in node: JavaCompute There was a problem establishing a connection to the given database URL: Microsoft_SQL_Server Exception details: java.lang.reflect.InvocationTargetException 

The node was unable to establish a connection to the given database URL. 

Contact your WebSphere Message Broker administrator. : Failed to obtain JDBC Connection

Кто нибудь знает куда копать?
...
Рейтинг: 0 / 0
MB7 JavaCompute Node + Microsoft SQL Server via JDBC
    #36896627
BRK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего ошибка в URL формате. В интернетах пишут, что разделитель между portNumber и DatabaseNAme не ; , а /

Думаю, вы зря начали редактировать существующий шаблон. Надо было воспользоваться командой mqsicreateconfigurableservice.

Так же, вы указали securityIdentity. Вы создали данное свойство с помощью mqsisetdbparms.

Не уверен, что там в версии 7, но в версии 6 и 6.1 после mqsicreateconfigurableservice обязательно нужен рестарт брокера.

Еще на всякий случай: брокер не поддерживает XA с sqlserver'ом. Возможно надо указать неХА className...

И попробуйте user trace, может он даст более полезную информацию.
...
Рейтинг: 0 / 0
MB7 JavaCompute Node + Microsoft SQL Server via JDBC
    #36896633
BRK01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
* Так же, вы указали securityIdentity. Вы создали данное свойство с помощью mqsisetdbparms?
...
Рейтинг: 0 / 0
MB7 JavaCompute Node + Microsoft SQL Server via JDBC
    #36896653
vasandgar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, действительно была проблема URL
Код: plaintext
1.
databaseName
:[databaseName]
вместо ":" нужно "=".
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / MB7 JavaCompute Node + Microsoft SQL Server via JDBC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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