Соедините SQLplus в оракуле

Это очень просто.
шаги:
1.создать класс обслуживания.
2.создать класс BroadcastReceiver
3.озвонить BroadReceiver в метод обслуживания onDestroy
4.В onReceive метод класса BroadReceiver запустить сервис один раз снова.

Вот код

Файл манифеста: `

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

    <activity android:name=".LauncherActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <service
        android:name=".utilities.NotificationService"
        android:enabled="true">

    </service>

    <receiver
        android:name=".utilities.RestartService"
        android:enabled="true"
        android:exported="true"
        android:label="RestartServiceWhenStopped"
        android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
        <intent-filter>
            <action android:name="RestartService" />
        </intent-filter>
    </receiver>
</application>

`

Класс обслуживания

public class NotificationService extends Service {
    public NotificationService() {
    }

    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

   @Override
   public int onStartCommand(Intent intent, int flags, int startId) {
       super.onStartCommand(intent, flags, startId);
       return START_STICKY;
   }

   @Override
   public void onDestroy() {
       super.onDestroy();
       Intent restartService = new Intent("RestartService");
       sendBroadcast(restartService);
  }
}

Класс BroadcastReceiver

public class RestartService extends BroadcastReceiver {

     @Override
     public void onReceive(Context context, Intent intent) {

         context.startService(new Intent(context,NotificationService.class));
     }
 }
12
задан Jika 9 April 2017 в 22:11
поделиться

2 ответа

Является ли ваша учетная запись пользователя операционной системы, в которую вы вошли как член группы ORA_DBA (windows) или группы DBA (* nix)?

Если ответ положительный, тогда Следующее, что нужно проверить, - это наличие файла ORACLE_HOME \ database \ orapwORCL.ora, который содержит пароли для всех пользователей, определенных как пользователи sysdba. Если он не существует, вам необходимо выключить базу данных и запустить утилиту orapwd:

  • cd ORACLE_HOME \ database
  • orapwd file = orapwORCL.ora password = 123456 entries = 10

Это определяет системный пароль как 123456 После этого вы сможете запустить базу данных и подключиться к sys / 123456 как sysdba

. Файл паролей должен существовать для аутентификации на основе пароля при входе в систему sysdba. Причина этого заключается в том, что соединения sysdba должны быть разрешены, когда база данных не работает и база данных не может аутентифицировать вас.

7
ответ дан 2 December 2019 в 05:41
поделиться

Ваш пример выглядит немного искаженным; для подключения к sqlplus через командную строку с пользователем sys и паролем 123456 :

sqlplus sys/123456 as sysdba

или

sqlplus "sys/123456 as sysdba"

до Oracle 10. Если вы уже находитесь в sqlplus (как я исходя из того факта, что ваш пример начинается с SQL>), вы используете команду подключения:

SQL> connect sys/123456 as sysdba

Во всех случаях, если вы не установили переменную среды ORACLE_SID , вам необходимо указать это после пароль, например:

sqlplus sys/123456@<mydbname> as sysdba

, где имеет форму / , если вы используете Oracle 10 или новее, или допустимая запись из вашего файла tnsnames.ora (находится в $ ORACLE_HOME / network / admin ) для всех версий.

20
ответ дан 2 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: