반응형
1. 랜덤 데이터 생성 및 CSV 파일 작성
먼저 C# 코드를 사용하여 랜덤 데이터를 생성하고 CSV 파일로 저장하는 방법을 알아봅니다.
- 테이블에는 간단하게 age, name, id 만 포함
using System;
using System.Collections.Generic;
using System.IO;
class Program
{
static void Main()
{
Random random = new Random();
List<string[]> dataRows = new List<string[]>();
dataRows.Add(new string[] { "age", "name", "id" }); // CSV 헤더
for (int i = 0; i < 100; i++)
{
int age = random.Next(20, 51); // 20부터 50까지의 나이
string name = GenerateRandomName();
string id = random.Next(10000, 100000).ToString(); // 5자리 랜덤 숫자
dataRows.Add(new string[] { age.ToString(), name, id });
}
// CSV 파일로 저장
string csvFilePath = "random_data.csv";
using (StreamWriter writer = new StreamWriter(csvFilePath))
{
foreach (string[] row in dataRows)
{
writer.WriteLine(string.Join(",", row));
}
}
Console.WriteLine("CSV 파일 생성 완료: " + csvFilePath);
}
// 랜덤한 영문 이름 생성
static string GenerateRandomName()
{
Random random = new Random();
const string letters = "abcdefghijklmnopqrstuvwxyz";
char[] name = new char[5];
for (int i = 0; i < name.Length; i++)
{
name[i] = letters[random.Next(letters.Length)];
}
return new string(name);
}
}
2. CSV 파일을 SQL Server에 BULK INSERT로 삽입
C# 코드로 CSV 파일을 생성한 후, SQL Server에 BULK INSERT를 사용하여 데이터를 삽입합니다.
using System;
using System.Data;
using System.Data.SqlClient;
class Program
{
static void Main()
{
string csvFilePath = "random_data.csv";
string connectionString = "Data Source=YourServerName;Initial Catalog=YourDatabaseName;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// BULK INSERT 쿼리 실행
string bulkInsertQuery = $"BULK INSERT [dbo].[your_table_name] FROM '{csvFilePath}' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n', FIRSTROW = 2)";
SqlCommand command = new SqlCommand(bulkInsertQuery, connection);
command.ExecuteNonQuery();
Console.WriteLine("데이터베이스에 데이터 삽입 완료.");
}
}
}
주의사항
- YourServerName과 YourDatabaseName을 실제 SQL Server 인스턴스 및 데이터베이스 이름으로 변경해야 합니다.
- your_table_name은 데이터를 삽입할 대상 테이블의 이름으로 변경해야 합니다.
- FIELDTERMINATOR = ', '와 ROWTERMINATOR = '\n'은 CSV 파일의 필드 구분자와 행 구분자에 맞게 설정되어야 합니다.
반응형
'C#' 카테고리의 다른 글
.NET Framework 4.5.2 다운로드 (0) | 2024.05.13 |
---|---|
.NET Framework 삭제 방법 (0) | 2024.05.13 |
VisualStudio Setup 프로젝트 만드는 방법 (0) | 2024.05.03 |
포트 확인과 프로세스 종료하는 방법 (0) | 2024.05.02 |
.NET SDK 실행 오류 - SDK를 찾을 수 없음 (0) | 2024.05.02 |