Java Code Examples for org.pentaho.di.core.database.DatabaseMeta#TYPE_ACCESS_ODBC

The following examples show how to use org.pentaho.di.core.database.DatabaseMeta#TYPE_ACCESS_ODBC . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DatabaseMappingGenerator.java    From pentaho-reporting with GNU Lesser General Public License v2.1 6 votes vote down vote up
public static void main( String[] args ) {
  final HashSet knownDrivers = new HashSet();
  final DatabaseInterface[] interfaces = DatabaseMeta.getDatabaseInterfaces();
  for ( int i = 0; i < interfaces.length; i++ ) {
    final DatabaseInterface dbi = interfaces[ i ];
    final int[] accessTypeList = dbi.getAccessTypeList();
    for ( int j = 0; j < accessTypeList.length; j++ ) {
      final int al = accessTypeList[ j ];
      if ( al != DatabaseMeta.TYPE_ACCESS_ODBC ) {

        dbi.setAccessType( al );
        final String driver = dbi.getDriverClass();
        if ( knownDrivers.contains( driver ) == false ) {
          System.out.println( driver + "=" + dbi.getClass().getName() );
          knownDrivers.add( driver );
        }
      }
    }
  }

}
 
Example 2
Source File: XulDatabaseDialog.java    From pentaho-reporting with GNU Lesser General Public License v2.1 6 votes vote down vote up
private int convertAccessTypeToKettle( final DatabaseAccessType type ) {
  switch( type ) {
    case NATIVE:
      return DatabaseMeta.TYPE_ACCESS_NATIVE;
    case JNDI:
      return DatabaseMeta.TYPE_ACCESS_JNDI;
    case OCI:
      return DatabaseMeta.TYPE_ACCESS_OCI;
    case ODBC:
      return DatabaseMeta.TYPE_ACCESS_ODBC;
    case PLUGIN:
      return DatabaseMeta.TYPE_ACCESS_PLUGIN;
    default:
      throw new IllegalStateException();
  }
}
 
Example 3
Source File: XulDatabaseDialog.java    From pentaho-reporting with GNU Lesser General Public License v2.1 6 votes vote down vote up
private DatabaseAccessType convertAccessTypeFromKettle( final int type ) {
  switch( type ) {
    case DatabaseMeta.TYPE_ACCESS_NATIVE:
      return DatabaseAccessType.NATIVE;
    case DatabaseMeta.TYPE_ACCESS_JNDI:
      return DatabaseAccessType.JNDI;
    case DatabaseMeta.TYPE_ACCESS_OCI:
      return DatabaseAccessType.OCI;
    case DatabaseMeta.TYPE_ACCESS_ODBC:
      return DatabaseAccessType.ODBC;
    case DatabaseMeta.TYPE_ACCESS_PLUGIN:
      return DatabaseAccessType.PLUGIN;
    default:
      throw new IllegalStateException();
  }
}
 
Example 4
Source File: MetadataGenerator.java    From pentaho-kettle with Apache License 2.0 6 votes vote down vote up
private SqlDataSource createSqlDataSource(DatabaseMeta databaseMeta) {
  SqlDataSource dataSource = new SqlDataSource();
  dataSource.setDatabaseName(databaseMeta.getDatabaseName());
  dataSource.setHostname(databaseMeta.getHostname());
  dataSource.setUsername(databaseMeta.getUsername());
  dataSource.setPassword(databaseMeta.getPassword());
  dataSource.setPort(databaseMeta.getDatabasePortNumberString());
  dataSource.setAttributes(databaseMeta.getExtraOptions());
  DataSourceType dataSourceType;
  switch(databaseMeta.getAccessType()) {
  case DatabaseMeta.TYPE_ACCESS_NATIVE : dataSourceType = DataSourceType.NATIVE; break;
  case DatabaseMeta.TYPE_ACCESS_ODBC   : dataSourceType = DataSourceType.ODBC; break;
  case DatabaseMeta.TYPE_ACCESS_JNDI   : dataSourceType = DataSourceType.JNDI; break;
  case DatabaseMeta.TYPE_ACCESS_OCI    : dataSourceType = DataSourceType.OCI; break;
  default: dataSourceType = DataSourceType.CUSTOM; break;
  }
  dataSource.setType(dataSourceType);

  return dataSource;
}
 
Example 5
Source File: DatabaseMapping.java    From pentaho-reporting with GNU Lesser General Public License v2.1 5 votes vote down vote up
private static DatabaseInterface mapTypeFromDriver(final String driverClass)
{
  if (driverClass == null)
  {
    return new GenericDatabaseMeta();
  }

  final DatabaseInterface[] interfaces = DatabaseMeta.getDatabaseInterfaces();
  for (int i = 0; i < interfaces.length; i++)
  {
    final DatabaseInterface dbi = interfaces[i];
    final int[] accessTypeList = dbi.getAccessTypeList();
    for (int j = 0; j < accessTypeList.length; j++)
    {
      final int al = accessTypeList[j];
      if (al != DatabaseMeta.TYPE_ACCESS_ODBC)
      {
        dbi.setAccessType(al);
        if (driverClass.equals(dbi.getDriverClass()))
        {
          return dbi;
        }
      }
    }
  }

  return new GenericDatabaseMeta();
}
 
Example 6
Source File: CreateDatabaseWizardPage1.java    From pentaho-kettle with Apache License 2.0 5 votes vote down vote up
public IWizardPage getNextPage() {
  IWizard wiz = getWizard();

  IWizardPage nextPage;
  switch ( databaseMeta.getAccessType() ) {
    case DatabaseMeta.TYPE_ACCESS_OCI:
      nextPage = wiz.getPage( "oci" ); // OCI
      break;
    case DatabaseMeta.TYPE_ACCESS_ODBC:
      nextPage = wiz.getPage( "odbc" ); // ODBC
      break;
    case DatabaseMeta.TYPE_ACCESS_PLUGIN:
      nextPage = wiz.getPage( databaseMeta.getPluginId() ); // e.g. SAPR3
      break;
    default: // Generic or Native
      if ( databaseMeta.getDatabaseInterface() instanceof GenericDatabaseMeta ) { // Generic
        nextPage = wiz.getPage( "generic" ); // generic
      } else { // Native
        nextPage = wiz.getPage( "jdbc" );
        if ( nextPage != null ) {
          // Set the port number...
          ( (CreateDatabaseWizardPageJDBC) nextPage ).setData();
        }
      }
      break;
  }

  return nextPage;
}
 
Example 7
Source File: KettleDatabaseRepository.java    From pentaho-kettle with Apache License 2.0 4 votes vote down vote up
@Override public void create() {
  if ( repositoryMeta.getConnection() != null ) {
    if ( repositoryMeta.getConnection().getAccessType() == DatabaseMeta.TYPE_ACCESS_ODBC ) {
      // This will change in a future story
      log.logDebug( "ODBC type is not advised for repository use" );
    }

    try {
      if ( !getDatabaseMeta().getDatabaseInterface().supportsRepository() ) {
        // show error about not being valid
        log.logError( "This database type does not support being a repository" );
      }

      connectionDelegate.connect( true, true );
      boolean upgrade = false;

      try {
        String userTableName = getDatabaseMeta().quoteField( KettleDatabaseRepository.TABLE_R_USER );
        upgrade = getDatabase().checkTableExists( userTableName );
        if ( upgrade ) {
          // This will change in future story
          log.logDebug( "Database upgrade will now take place" );
        }
      } catch ( KettleDatabaseException dbe ) {
        // Roll back the connection: this is required for certain databases like PGSQL
        // Otherwise we can't execute any other DDL statement.
        //
        rollback();

        // Don't show an error anymore, just go ahead and propose to create the repository!
      }

      if ( upgrade ) {
        // authenticate as admin before upgrade
        reconnectAsAdminForUpgrade();
      }

      createRepositorySchema( null, upgrade, new ArrayList<String>(), false );

      disconnect();
    } catch ( KettleException ke ) {
      log.logError( "An error has occurred creating a repository" );
    }
  }
}