Как подключиться к удаленному MSSQL 2005, используя Java и импортировать CSV-значения в MySQL таблиц в назначенное время? - PullRequest
1 голос
/ 22 марта 2011

Справочная информация: У меня есть удаленный сервер mssql 2005 (я использую приложение удаленного рабочего стола для подключения к этому серверу) и файлы CSV на другом сервере. Я создаю утилиту, которая принимает эти файлы CSV по адресупредварительно определенное расписание (3 раза в день), а затем импортирует значение этих файлов CSV в базу данных.

Проблема: Я искал код, но не получил никакой помощи для удаленногоподключение к базе данных. Мне нужен код Java, который подключается к этому удаленному mssql и вставляет данные CSV в эту таблицу. Самое главное, этот код должен запускаться 3 раза в день автоматически .Я думаю, что запланированное задание Windows поможет мне достичь этого, но я не уверен, в какой степени.Также обратите внимание, что я хочу импортировать более 15 CSV-файлов, поэтому load infile , предоставляемый sql, не сильно поможет. Мне нужно, чтобы все было сделано с помощью кода Java.

Спецификация:

язык кодирования : Java

база данных : MS SQL 2005

Anyhelp глубоко ценится.

Ответы [ 3 ]

0 голосов
/ 24 марта 2011

Создание файла .bat

В файле .Bat 1. Загрузите все файлы CSV.2. запустить класс Java (исполняемый файл)

В Java Class 1. импортировать CSV в логику MSSQL.

Вы можете запланировать выполнение ur .bat, используя «запланированное задание Windows», как вы сказали

0 голосов
/ 24 марта 2011

загрузка и запуск с локальной системы на сервер не очень хороший вариант.Если файлы большие, это становится узким местом в сети.И какой смысл скачивать и загружать на тот же сервер.

Вместо

String allFile = "file1;file2;file3";
String allTables = "tab1;tab2;tab3";
String[] allFileArr = allFile.split";";
String[] allTablesArr = allTables.split";";

for (int i=0;i<allFileArr.length;i++)
{
String query = "BULK INSERT " + allTablesArr[i] + "FROM '" + allFileArr[i] + "' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' ) GO";
//fire sql query
}
0 голосов
/ 24 марта 2011

Вы можете написать командный файл в Windows или скрипт в Linux и использовать функцию mysqlimport, которая использует load-data-infile.это работает отлично.Я использовал это ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...