전체 글29 [ASP] ADODB.Command 파라미터 오류 해결: 개수·순서·자료형 불일치 점검 방법 Classic ASP에서 ADODB.Command를 사용해 SQL이나 저장 프로시저를 실행할 때 파라미터 관련 오류가 자주 발생합니다.화면에서 전달한 값은 정상이고 SQL도 직접 실행하면 문제없지만, ASP에서 실행할 때만 다음과 같은 오류가 나타날 수 있습니다.필요한 파라미터 값이 전달되지 않았다는 오류프로시저가 요구하는 파라미터가 없다는 오류문자열을 숫자로 변환할 수 없다는 오류파라미터 정의가 불완전하다는 오류인수의 형식이나 범위가 잘못됐다는 오류파라미터를 모두 추가했지만 값이 서로 바뀌어 전달되는 문제이 문제는 대부분 파라미터 개수, 등록 순서, ADO 자료형, 문자열 길이, 입력·출력 방향 중 하나가 SQL 또는 저장 프로시저 정의와 일치하지 않아 발생합니다.이 글은 Classic ASP와 SQL.. 2026. 7. 18. [C#] DataGridView VirtualMode 사용법: 대량 데이터 메모리 사용량 줄이기 WinForms에서 수십만 건의 데이터를 DataTable이나 List에 모두 담아 DataGridView에 연결하면 조회 시간이 길어지고 메모리 사용량도 증가합니다.이 문제를 줄이기 위해 사용할 수 있는 기능이 DataGridView VirtualMode입니다. VirtualMode에서는 DataGridView가 모든 셀 값을 직접 보관하지 않고, 화면에 필요한 값을 요청할 때 개발자가 데이터 공급 로직을 실행합니다.다만 VirtualMode 속성을 true로 설정한다고 데이터베이스 조회량과 메모리 사용량이 자동으로 줄어드는 것은 아닙니다. 전체 데이터를 DataTable에 먼저 조회한 뒤 VirtualMode만 켜면 원본 데이터가 이미 메모리에 올라와 있으므로 효과가 제한적입니다.1. 일반 데이터 바.. 2026. 7. 18. [SQL] ORA-01843 not a valid month 해결: 날짜 문자열과 NLS 설정 확인 Oracle에서 문자열을 DATE 또는 TIMESTAMP로 변환할 때 날짜 형식과 실제 값이 맞지 않으면 ORA-01843: not a valid month 오류가 발생할 수 있습니다.오류 메시지는 월 값이 잘못됐다는 의미지만 원인은 월 숫자 자체뿐 아니라 날짜 형식 순서, 세션 NLS 설정, 영문 월 이름, 암시적 형변환 등 다양합니다.1. 가장 단순한 발생 예제SELECT TO_DATE( '2026-13-10', 'YYYY-MM-DD' )FROM DUAL;월 값이 13이므로 유효한 날짜로 변환할 수 없습니다.ORA-01843: not a valid month월 값이 1부터 12 사이더라도 형식 문자열이 실제 데이터와 다르면 같은 오류가 발생할 수 있습니다.. 2026. 7. 18. [C#] ODP.NET Array Binding으로 Oracle 대량 INSERT 속도 개선하기 C#에서 Oracle에 수천 건 이상의 데이터를 저장할 때 행마다 ExecuteNonQuery를 호출하면 네트워크 왕복과 SQL 실행 요청이 반복됩니다.ODP.NET의 Array Binding을 사용하면 하나의 OracleCommand에 여러 행의 파라미터 배열을 전달하여 한 번의 ExecuteNonQuery로 여러 건을 처리할 수 있습니다.Array Binding은 SQL 문자열을 여러 개 연결하는 방식이 아니라 각 파라미터의 Value에 배열을 지정하고 ArrayBindCount로 처리 건수를 설정하는 방식입니다.1. 행별 INSERT 방식의 문제foreach (Customer customer in customers){ using (OracleCommand command = conn.. 2026. 7. 18. [네트워크] netstat의 TIME_WAIT·CLOSE_WAIT·SYN_SENT 상태 의미와 장애 확인 방법 Windows 서버나 사용자 PC에서 접속 지연, 포트 부족, 연결 실패 문제가 발생하면 netstat 명령으로 TCP 연결 상태를 확인할 수 있습니다.netstat 결과에는 ESTABLISHED, LISTENING뿐 아니라 TIME_WAIT, CLOSE_WAIT, SYN_SENT 같은 상태가 표시됩니다.특정 상태가 많다고 무조건 장애는 아닙니다. 상태의 의미와 로컬 주소, 원격 주소, PID, 발생 추이를 함께 확인해야 합니다.1. 기본 netstat 명령netstat -ano옵션설명-a활성 연결과 수신 대기 포트를 모두 표시합니다.-n주소와 포트를 숫자로 표시하여 이름 조회 지연을 줄입니다.-o연결을 소유한 프로세스의 PID를 표시합니다.-b연결과 관련된 실행 파일을 표시합니다. 관리자 권한이 필요할.. 2026. 7. 18. [C#] Application.DoEvents 사용 시 발생하는 중복 실행 문제와 async/await 대체 방법 WinForms에서 긴 반복문을 실행하면 UI 스레드가 작업에 점유되어 화면이 멈추고 버튼 클릭이나 창 이동에 반응하지 않습니다.이 문제를 해결하기 위해 반복문 안에서 Application.DoEvents를 호출하는 코드가 사용되기도 합니다.Application.DoEvents는 대기 중인 Windows 메시지를 처리해 화면이 반응하는 것처럼 보이게 하지만, 버튼 클릭 이벤트와 타이머 이벤트까지 실행할 수 있어 현재 작업이 끝나기 전에 같은 코드가 다시 실행되는 재진입 문제가 발생할 수 있습니다.1. 화면이 멈추는 이유WinForms 컨트롤과 이벤트는 기본적으로 UI 스레드에서 처리됩니다.private void btnStart_Click( object sender, EventArgs e){ .. 2026. 7. 18. 이전 1 2 3 4 5 다음