본문 바로가기

DB8

[MSSQL] .NET Framework에서 사용자 코드를 실행할 수 없습니다. "clr enabled" 구성 옵션을 설정하십시오 문제 .NET Framework에서 사용자 코드를 실행할 수 없습니다. "clr enabled" 구성 옵션을 설정하십시오. 해결 위 에러는 SQL서버에서 CLR이 작동하지 않을 경우 생기는 에러이다. EXEC sp_configure 'clr enabled', 1 RECONFIGURE 명령어를 입력하면 해결 된다. 2022. 6. 4.
[MSSQL] 복원시 데이터베이스가 사용 중이어서 배타적으로 액세스할 수 없습니다. 해결방법 안녕하세요. K0ining 입니다. 오늘은 간만에 MSSQL 포스팅 입니다. 오늘 있던 현상은 데이터베이스 백업본에서 복구를 하려는데 아래와 같이 에러가 뜨면서 진행이 되지 않습니다. 데이터베이스를 복원하지 못했습니다. 데이터베이스가 사용 중이어서 배타적으로 액세스할 수 없습니다. 이럴때 두가지 설정을 해주셔야 합니다. 첫번째 데이터베이스 속성에 들어가셔서 옵션 -> 액세스 제한을 RESTRICTED_USER로 변경 합니다. 이런 알럿이 뜨면 예를 눌러주세요. 그럼 위에 그림과 같이 제한된 사용자 라고 DB가 변경 됩니다. 보통은 위에까지만 진행을 하더라도 복원에는 이상이 없으나 저는 이방법뿐만 아니라 두번째 방법까지 해야 했습니다. 두번째 방법은 바로 복원 전 비상 로그 백업 수행을 체크 해제 해주셔야.. 2019. 5. 31.
Reletion 관계에서 NULL 처리 테이블 A와 테이블 B가 있을 때 LEFT OUTER JOIN을 할 경우 B의 데이터 중 일부는 NULL 일 수가 있다. ​ 사용에는 크게 영향은 미치지 않겠지만, 그래도 나중을 위해 컬럼마다 ISNULL(컬럼명, '') AS 컬럼명 으로 공백처리를 해주는게 좋다. ​ 두번째로 컬럼의 값이 NULL 인지 확인을 할 때는 WHERE 절에 컬럼명 = null 로 검색하는것이 아닌 컬럼명 IS NULL 로 검색을 해야한다. 2019. 4. 24.
[MySQL] LAST_INSERT_ID(), insert 후 PK 값 사용하기 테이블 Master와 Sub가 있다.Master 테이블의 PK를 Sub 테이블이 FK로 참조하고 있다면 Master 테이블에 1개의 ROW를 추가하면서 MASTER 테이블에도 1개의 ROW를 함께 추가해야 할 경우가 있을 것이다. 하지만 MySQL의 AUTO_INCREMENT로 설정된 column은 그 값을 먼저 가져올 수 없다. 이럴 때는 MySQL의 LAST_INSERT_ID()라는 함수를 사용하면 된다. 이 함수는 가장 최근에 성공적으로 수행된 INSERT 구문의 첫번째 AUTO_INCREMENT column의 값을 반환한다. 위와 같이 SEQ를 반환하도록 XML에 작성해 주고, 아래와 같이 DAO에서 사용할 수 있다.각 프레임워크마다 get, put 방식은 조금씩 다를 수 있으니 맞춰서 사용하자. 2017. 3. 23.
MYSQL 여러 ROW를 하나의 컬럼에 ,(콤마)로 구분하여 저장하고 View하기 Table1 : A B_SEQ 학교 학과 -------------------------------- 2 정보대 정보과 Table2 : B SEQ B_SEQ 교수------------------------------- 1 2 교수1 2 3 교수2 3 2 교수3 4 5 교수4 result B_SEQ 학교 학과 교수------------------------------------------- 2 정보대 정보과 교수1, 교수3 만약 A와 B라는 테이블이 있고, B테이블의 여러 ROW를 A테이블과 JOIN하여 하나의 컬럼으로 저장하고자 할 때 사용하는 함수로는 group_concat과 group by 라는 기능을 사용하면 쉽다. 위 result처럼 결과를 나오게 하고 싶다면, SELECT A.B_SEQ, A.sc.. 2017. 3. 15.
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 에러원인 : 자바의 포트넘버를 3306으로 설정했는데, Mysql 설치 시에는 다른 포트번호로 설치를 하는 바람에 연결은 되나, 응답을 받지 못했다는 소리 해결방법 : MySQL의 configuration으로 포트넘버를 3306으로 한 후 재설치 하여 해결하면 됨. 2017. 3. 10.