почему требуется имя схемы перед именем таблицы?
, если таблица не совпадает со схемой вашего текущего пользователя (подключенного пользователя), вам необходимо добавить префикс имени схемы, чтобы таблица доступа.
или, альтернативно, ваша целевая таблица должна иметь синоним [public]
А-ч да, необходимо получить объект FileSystemView и использовать getSystemDisplayName. (Я когда-то реализовал браузер Файловой системы в Java).
Это не прекрасно, хотя, но это получит Вас имя. Из документации:
Название файла, каталога или папки, поскольку это было бы отображено в браузере системного файла. Пример из Windows: каталог "M:\" отображается как "CD-ROM (M:)" реализация по умолчанию получает информацию от класса ShellFolder.
На самом деле получить имя дисковода (напр. Локальный диск), необходимо использовать возвраты getSystemTypeDescription. getSystemDisplayName имя тома.
import java.io.File;
import java.util.Arrays;
import java.util.List;
import javax.swing.filechooser.FileSystemView;
public class Test2 {
public static void main(String args[]){
List <File>files = Arrays.asList(File.listRoots());
for (File f : files) {
String s1 = FileSystemView.getFileSystemView().getSystemDisplayName (f);
String s2 = FileSystemView.getFileSystemView().getSystemTypeDescription(f);
System.out.println("getSystemDisplayName : " + s1);
System.out.println("getSystemTypeDescription : " + s2);
}
/* output (French WinXP)
getSystemDisplayName :
getSystemTypeDescription : Disquette 3½ pouces
getSystemDisplayName : REGA1 (C:)
getSystemTypeDescription : Disque local
getSystemDisplayName :
getSystemTypeDescription : Lecteur CD
getSystemDisplayName : My Book (F:)
getSystemTypeDescription : Disque local
*/
}
}
Другой альтернативой является использование WMI (через JACOB или com4j ).
FileSystemView.getSystemDisplayName
не давать вам метку необработанного тома. Это комбинация буквы диска и метки тома со значением по умолчанию, если метка не была установлена.
WMI предоставит вам исходную метку тома, а также некоторую другую информацию, например, является ли диск съемным (что удивительно FileSystemView.isFloppyDrive ()
не сообщает вам об этом; он буквально означает «это дискета?»)