Добавив следующие исправления для меня (Android studio 2.3.2):
build.gradle (Project)
buildscript {
repositories {
...
jcenter()
}
dependencies {
...
classpath 'me.tatarka:gradle-retrolambda:3.4.0' // DEPENDENCY
...
}
}
build.gradle (Module: app)
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda' //PLUGIN
android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
} // SET JAVA VERSION
...
}
Я могу придумать четыре возможных обходных пути для вашего сценария:
dbname.tablename
-syntax для доступа к таблицам за пределами текущей области базы данных. Это требует, чтобы пользователь, подключенный в настоящий момент, имел соответствующие права на чтение из запрошенной таблицы в другом физическом db. FEDERATED
MySQL для виртуального импорта таблицы в ваш текущая база данных. Это снимает требование предоставления прав доступа к текущему пользователю во вторую базу данных, поскольку учетные данные выдаются с CREATE TABLE
-стратетом при использовании механизма хранения FEDERATED
. Это также работает с базами данных, запущенными на разных физических серверах или разных экземплярах MySQL. Я думаю, что это будет самый плохой вариант исполнения и имеет некоторые ограничения - более или менее важные в зависимости от вашего сценария использования и ваших требований. SELECT <<columns>> FROM <<database>>.<<table>>
. Это похоже на способ работы FEDERATED
-метод, но ограничивается таблицами в одном экземпляре MySQL. Лично я бы рассмотрел метод (4) как наиболее полезный, но другие могут также быть возможными обходными способами в зависимости от ваших требований.
На данный момент нет равного метода MySQL, см. этот пост . Однако, поскольку плакат предполагает, что вы можете обойтись, если базы данных находятся на одной машине, просто добавив имя базы данных перед именем таблицы.
Также см. this , ему 6 лет, но он еще не разрешен. Он закрыт и, вероятно, больше не включен в свой список.