Вы близки, но измените цикл while, чтобы выглядеть следующим образом:
while (in.hasNextLine()) {
Scanner lineIn = new Scanner(line);
//The initial case - this first line is used to determine the size of the array
if(lineIn.hasNext()) {
//Create a String array by splitting by spaces
String[] s = lineIn.nextLine().split(" ");
//Reinitialize the array to hold all of your subarrays
matrix = new int[s.length];
for (int i = 0; i < s.length; i++) {
//Reinitialize each subarray to hold the numbers
matrix[i] = new int[i];
//Finally, parse your data from the String array
matrix[0][i] = Integer.parseInt(s[i]);
}
}
//Repeat the steps now that all of your arrays have been initialized
for (int j = 1; j < matrix.length; j++) {
String[] s = lineIn.nextLine().split(" ");
for (int i = 0; i < s.length; i++) {
matrix[j][i] = Integer.parseInt(s[i]);
}
}
}
Самое большое изменение, которое вы можете сделать, чтобы сделать это проще для себя, - это получить ваши номера в ряд -линия. С каждой строкой, которую вы получаете, легко разбить ее на массив строк, чтобы вы могли разобрать каждый номер отдельно. Сделав это таким образом, вы можете сразу получить всю длину массива без необходимости иметь неприятные счетчики.
Можно открыть новый временный сеанс, включающий режим SQL CMD в SSMS, через меню -> Запрос -> Режим SQL CMD:
:CONNECT (local)
SET NOCOUNT ON;
SELECT SERVERPROPERTY('ServerName') AS ServerName
,SERVERPROPERTY('ProductVersion') AS ProductVersion
,SERVERPROPERTY('ProductLevel') AS ProductLevel
,SERVERPROPERTY('Edition') AS Edition
,SERVERPROPERTY('EngineEdition') AS EngineEdition;
GO
:CONNECT SQLServer1
SET NOCOUNT ON;
SELECT SERVERPROPERTY('ServerName') AS ServerName
,SERVERPROPERTY('ProductVersion') AS ProductVersion
,SERVERPROPERTY('ProductLevel') AS ProductLevel
,SERVERPROPERTY('Edition') AS Edition
,SERVERPROPERTY('EngineEdition') AS EngineEdition
GO
Таким образом, вы можете переключать контекст. Однако до сих пор нет способа инициировать несколько параллельных исходящих сеансов из одного и того же исходного сеанса с использованием T-SQL. Вы можете сделать это с помощью внешних инструментов
Я не знаю, как сделать это напрямую в SSMS. Может быть, создать несколько подключений к одному экземпляру на зарегистрированных серверах и затем запустить группу. Тем не менее, есть несколько сторонних приложений, которые могут помочь вам в этом. Вот 2 варианта:
Я не думаю, что в SSMS есть родной способ сделать это. Вы можете сделать это с помощью SSMS Boost ( https://www.ssmsboost.com/ ), используя рабочие пространства или Redgate SQL Test ( https://www.red-gate.com/products/sql -разработка / SQL-тест / индекс ). возможно, есть и другие инструменты, но это те два, которые я использовал раньше.