2015-02-17 1 views
3

Я пытаюсь подключить свою программу java к базе данных hana. Однако я не могу этого сделать, потому что мне нужно подключить свою программу к базе данных через URL-адрес, который я не знаю. Я зарегистрировался для онлайн-теста hana: https://account.hanatrial.ondemand.com. Я создал учетную запись и базу данных и добавил ее в инструменты eclipse hana. Как получить URL-адрес/имясервера/IPAddress, что я должен использовать вместо HDB_URLSAP HANA hostname jdbc driver

Я использовал это, чтобы соединить систему Hana облако http://saphanatutorial.com/add-sap-hana-cloud-system-in-hana-studio-or-eclipse

И я пытаюсь сделать это http://saphanatutorial.com/sap-hana-text-analysis-using-twitter-data/

package com.saphana.startupfocus.util; 

import java.sql.*; 
import com.saphana.startupfocus.config.Configurations; 

public class HDBConnection { 
public static Connection connection = null; 

public static Connection getConnection() { 
    try { 
     if(null == connection){ 
      connection = DriverManager.getConnection(Configurations.HDB_URL, 
        Configurations.HDB_USER, Configurations.HDB_PWD); 
     } 
    } catch (SQLException e) { 
     e.printStackTrace(); 
    } 
    return connection; 
} 

// Test HDB Connection 
public static void main(String[] argv) throws ClassNotFoundException { 

    connection = HDBConnection.getConnection(); 
    if (connection != null) { 
     try { 
      System.out.println("Connection to HANA successful!"); 

      Statement stmt = connection.createStatement(); 
      ResultSet resultSet = stmt 
        .executeQuery("Select 'helloworld' from dummy"); 
      resultSet.next(); 
      String hello = resultSet.getString(1); 
      System.out.println(hello); 

     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

}

+0

Вы пробовали тот же URL-адрес, что и для подключения к Eclipse? –

+0

com.sap.db.jdbc.exceptions.JDBCDriverException: SAP DBTech JDBC: не удается подключиться к jdbc: sap: //hana.ondemand.com: 30015/[Не удается подключиться к хосту hana.ondemand.com:30015 [Время ожидания подключения : connect], -813.]. –

+0

http://stackoverflow.com/questions/19527109/trouble-connecting-to-a-remote-hana-database-via-jdbc –

ответ

3

Поскольку вы пытаетесь подключиться к экземпляру SAP HANA облака, вы не напрямую подключаться через URL к экземпляру. Вместо этого вам необходимо использовать «туннель базы данных», как описано в документации для SAP HANA Cloud.

В SAP HANA Studio это не требуется, поскольку SAP HANA Studio автоматически обрабатывает туннель базы данных для вас при подключении к облачной системе.

  • Lars
2

я столкнулся с таким же вопросом и выяснил решение для этого.

Пожалуйста, обратитесь к следующей ссылке

HOW to connect to sap hana cloud instance thru jdbc Позвольте мне знать, если у вас есть какие-либо вопросы.

1

Вы можете скачать SAP HANA SDK и использовать прилагаемый neo -tool установить туннель-подключение к пробной инстанции:

neo open-db-tunnel 
    -h hanatrial.ondemand.com 
    -i <dbinstance> -a <p-accounttrial> -u <pusername> 

Это дает вам что-то вроде этого:

SAP HANA Cloud Platform Console Client 

Password for your user: 

Opening tunnel... 

Tunnel opened. 

Use these properties to connect to your schema: 
    Host name  : localhost 
    Database type : HANAMDC 
    JDBC Url   : jdbc:sap://localhost:30015/ 
    Instance number : 00 

Use any valid database user for the tunnel. 
This tunnel will close automatically in 24 hours or when you close the shell. 
Press ENTER to close the tunnel now. 

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

0

Если вы работаете с пробной/производительной платформой SAP, то лучшим способом сделать это сейчас будет использование сервисного канала.

Вам необходимо установить соединитель SAP Cloud и создать служебный канал. Для этого откройте облачный коннектор, перейдите в параметр «Поместить в облако» и выберите вариант для базы данных HANA. Как только это будет сделано, вы можете использовать localhost как имя хоста (поскольку он маршрутизируется через облачный коннектор), и порт будет предоставлен одним и тем же.

 Смежные вопросы

  • Нет связанных вопросов^_^