java - mysql - выбрать запрос outfile - где файл сохраняется
Подключение к базе данных MySQL из Java с помощью JDBC. объявление запроса
String query =
"SELECT *"+
"FROM tt2"+
"INTO OUTFILE 'DataFormatted.csv'"+
"FIELDS TERMINATED BY ','"+
"ENCLOSED BY '\"'" +
"LINES TERMINATED BY '\n'";
выполнение запроса с использованием executQuery(запрос).
Как изменить приведенный выше код, чтобы сохранить DataFormatted.csv в корневой каталог диска c
3 ответа
где файл сохраняется
В текущем рабочем каталоге сервера MySQL. Какой это зависит от того, как сервер MySQL выполняется и настраивается. Лучше всего изменить местоположение файла CSV на фиксированное местоположение.
Как изменить приведенный выше код, чтобы сохранить DataFormatted.csv в корневой каталог диска c
Просто поменяй 'DataFormatted.csv'
от 'C:/DataFormatted.csv'
,
Помните, что и код Java, и сервер MySQL должны работать на физически одной и той же машине, если вы хотите получить доступ к файлу CSV также с помощью Java. Если они работают на физически разных компьютерах, вы, вероятно, будете искать другие способы доступа к CSV-файлу, например, к FTP-файлу сгенерированного CSV-файла.
Если ваш SQL-запрос правильный (в вашем примере пропущены пробелы при переносе строки), OUTFILE сохраняет файл на сервере.
Если путь не указан, он перейдет в каталог данных, в подкаталог с именем пользователя.
Это что-то вроде C:\Program Files\MySQLServer\data\test
для test
пользователь.
Чтобы узнать, что это за каталог данных, используйте show variables where variable_name = 'datadir'
запрос.
Чтобы изменить расположение OUTFILE, просто используйте полный путь, как предложено BalusC
,
SELECT ... INTO OUTFILE
сбрасывает данные в файл на сервере MySQL. Если вы хотите создать локальный файл на клиенте Java, вам нужно будет создать его самостоятельно.