분류 전체보기38 [DB] Oracle에 MSSQL DB Link 생성 Oracle에서 mssql 서버를 연결하여 통신이 필요할 때 사용할 수 있습니다. 정보가 많이 없었는데 아래 출처의 블로그에 정리가 잘 되어있어 참고하여 작업하였습니다. (참고 블로그 : https://positivemh.tistory.com/626) 해당 포스팅은 Oracle DB에 mssql DB Link를 생성하는 글이며, mssql에서 오라클 DB에 연결할 때에는 Linked Server를 생성하여 사용해야 합니다. 작업한 내용을 정리하기 위해 포스팅 합니다. 서버간 통신을 위해 ODBC 설정을 해야합니다. (방화벽 접근권한이 허용되어있어야 합니다.) 아래 내용을 오라클이 설치된 리눅스 OS에서 작업합니다. 1. unixODBC를 설치합니다. # yum install unixODBC* 2. Fre.. 2023. 9. 2. [MSSQL] "already exists in the current database" 오류 해결 DB를 새로 복원하고 같은 사용자 이름으로 DB를 매핑하는 경우에 다음과 같은 오류가 발생할 수 있습니다. 복원된 DB에는 이미 기존 로그인 이름의 사용자 계정이 존재하기 때문에 DB의 해당 정보를 업데이트하거나 삭제시킨 후 등록하여야 합니다. 다음 쿼리를 통해 현재의 사용자 계정으로 매핑할 수 있습니다. USE exampledb --매핑할 DB GO ALTER USER exampleuser WITH LOGIN = exampleuser GO 2023. 7. 11. [MSSQL] 데이터베이스 파일(mdf, ldf) 파일경로 및 파일명 변경하기 데이터베이스 파일경로 및 파일명 변경 1. 작업 전 데이터베이스 속성을 확인 2. DB 오프라인 상태로 변경 ALTER DATABASE TESTDB set OFFLINE --DB Offline 상태로 변경 (실행 안될때는 WITH ROLLBACK IMMEDIATE 추가) GO 3. 윈도우 탐색기로 경로 및 파일명 변경 4. 변경된 파일경로 및 파일명으로 적용 ALTER DATABASE TESTDB MODIFY FILE (NAME = TESTDB1, --논리적 이름 FILENAME = 'C:\DB\data\TEST_CHANGE.MDF') --변경할 파일 경로 및 파일명 GO 5. DB 온라인 상태로 변경 ALTER DATABASE TESTDB SET ONLINE GO 2023. 7. 8. [MSSQL] 모든 테이블 Row수 조회 DB내의 모든 테이블에 대한 Row수를 가져오는 쿼리입니다. 2005이상 버전 사용가능합니다. 시스템 뷰에 저장되어있는 Row수를 가져와서 조회하기 때문에 DB에 부하를 주지 않습니다. 하지만 시스템 뷰가 업데이트 되어있지 않다면 약간의 오차가 발생할 수있습니다. SELECT t.name AS Table_Name, SUM(p.rows) AS Row_Count FROM sys.tables t INNER JOIN sys.partitions p ON t.object_id = p.object_id WHERE t.is_ms_shipped = 0 AND p.index_id IN (0, 1) GROUP BY t.name ORDER BY t.name 2023. 7. 3. [MSSQL] ODBC 연결 설정 Sql Server ODBC 연결 설정하는 방법. 1. ODBC 검색해서 ODBC 데이터 원본 실행 2. 드라이버에서 Sql Server 존재 확인 (없다면 드라이버 설치) 3. DSN에서 추가 버튼 클릭 4. 새 데이터 원본 만들기에서 SQL Server 드라이버 선택 후 마침 5. DB이름, 설명 그리고 서버를 지정 (서버만 정확하게 입력하면됨) 6. DB 계정을 입력(서버 계정아님) 7. 기본 데이터베이스를 선택 8. 마침 후 데이터 원본 테스트를 눌러 연결 여부 확인 9. 테스트가 성공했다면 확인누르면 완료 10. 연결된 DB를 확인 2023. 7. 3. [Redis] window OS에 Redis 설치 도커가 설치되어 있다면 아래 명령어만 입력해도 로컬 서버에서 Redis를 쉽게 실행하실 수 있습니다. docker run -p 6379:6379 redis 아래는 도커를 사용하지 않고 window에서 Redis를 설치하는 방법입니다. MS 깃허브에서 배포하는 Redis 설치파일(msi 파일)을 통해 window용 Redis를 설치할 수 있습니다. https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redis Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values a.. 2023. 7. 2. [프로그래머스] Lv.3 인사고과 (JS) https://school.programmers.co.kr/learn/courses/30/lessons/152995?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr (문제 내용은 링크를 참조해주세요) 처음엔 매우 간단한 문제라고 생각되었습니다. 완호가 탈락 대상인지 검사한 후, 탈락 대상이 아니라면 본인 보다 높은 점수를 받은 사람의 수를 찾아 자신의 등수를 계산하면 된다고 생각했습니다. function solution(scores) { var answer = 0; var wh = scores[0] // 탈락 여부 확인 .. 2023. 7. 1. [NodeJS] NestJs socket.io 로 실시간 채팅 구현 웹에서 일반적으로 쓰이는 http 통신에서는 클라이언트가 서버에 request를 보내고 서버가 response를 주는 방식입니다. 하지만 서버-클라이언트의 양방향 통신이 필요한 경우에 무한하게 http request를 보내는 방식을 사용할 순 있겠지만 매우 비효율적일 것입니다. 서버와 클라이언트를 연결하여 실시간으로 데이터를 전달받는 tcp/ip 소켓 통신 방식을 사용하여아합니다. socket.io는 서버와 클라이언트를 연결하고 실시간 양방향 통신이 가능하도록 도와주는 JS 라이브러리입니다. socket.io를 사용하여 실시간 채팅 어플리케이션을 간단하게 구현해보았습니다. 작업환경 - node : 16.19.1 - nest : 9.2.0 - @nestjs/platform-socket.io: ^9.4.2 .. 2023. 6. 13. [NodeJS] NestJs nodemailer 모듈로 메일 전송 데이터베이스에서 매일 데이터를 추출하여 엑셀화하여 메일로 전송하는 루틴 업무를 자동화하기 위해 개발을 진행하였습니다. DB의 데이터를 엑셀화 하고 메일에 첨부하여 전송하는 API를 생성해 스케줄러를 통해 자동화 하는데 사용하고 있습니다. 작업환경 node version : 16.19.1 nest version : 9.2.0 nodemailer : 6.9.3 우선 nodemailer를 설치합니다. (typescript가 아니라면 nodemailer만 설치하셔도 됩니다.) npm i @types/nodemailer nodemailer mail 관련 컴포넌트들을 생성합니다. nest g mo mail nest g s mail nest g co mail 생성이 완료되었다면 mail.service.ts에 다음과 .. 2023. 6. 5. [MSSQL] 프로시저 검색 쿼리 프로시저 내의 문자열 검색 SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id) FROM sys.procedures WHERE OBJECT_DEFINITION(object_id) LIKE '%검색어%' 2023. 5. 31. [백준] 14243 출근기록2 (C++) 문제 링크 : https://www.acmicpc.net/problem/14243 14243번: 출근 기록 2 스타트링크에는 세명의 직원이 일을 하고 있다. 세 직원의 이름은 강호(A), 준규(B), 수빈(C) 이다. 이 회사의 직원은 특별한 룰을 가지고 있는데, 바로 하루에 한 명만 출근한다는 것이다. 3일간의 www.acmicpc.net 조건에 맞게 정렬하여 출력하면 되는 문제이다. A는 언제든, B는 2번 중 1번, C는 3번 중 1번만 출력할 수 있다. B가 출력될 수 있는 최악의 경우는 B-1 == A+C 일 때이다. C가 출력될 수 있는 최악의 경우는 2*(C-1) == A+B 이다. 각각 B, C로 시작하여 B, C로 끝나는 경우이다. 이 경우를 제외하고는 C > B > A 순서로 출력하며 .. 2023. 5. 15. [AWS x MySQL] AWS RDS 프리티어 생성하기 AWS에서 무료로 DB이용하기! 공부목적으로 서버에 DB를 설치하고 싶을 때, AWS RDS 프리티어를 이용하여 무료로 AWS RDS를 사용할 수 있습니다. 보통 공부목적이나 개인 프로젝트용으로 많이 활용하게 되기 때문에 과금되지 않도록 설정하여 데이터베이스를 생성해보겠습니다. AWS에서 RDS 서비스를 찾아줍니다. RDS 서비스에 들어왔다면 데이터베이스 생성을 클릭해줍니다. MySql을 선택해줍니다. 오픈소스인 MariaDB나 PostgreSQL도 프리티어가 가능합니다! 프리티어를 골라줍니다. 저는 사용자 이름은 root로 설정해주었습니다. 이전에는 t2.micro만 프리티어에서 사용이 가능했지만 현재는 db.t3.micro와 db.t4g.micro도 프리티어에서 사용할 수 있습니다. 할당된 스토리지가.. 2023. 5. 12. 이전 1 2 3 4 다음 반응형