DB 57

[MariaDB] BIT 형 컬럼을 PHP에서 올바로 표시하기

문제점 및 증상¶MariaDB에서 BIT 형 컬럼을 정의하고, PHP에서 이 자료를 받아서 JSON 형태로 출력하는 형태로 개발 CREATE TABLE `customer_group` ( `group_seq` INT(11) NOT NULL AUTO_INCREMENT COMMENT '그룹번호', `customer_seq` INT(11) NOT NULL COMMENT '고객번호', `group_name` VARCHAR(100) NOT NULL COMMENT '그룹_이름' COLLATE 'utf8_unicode_ci', `reg_date` DATETIME NOT NULL COMMENT '등록일시', `default_group` BIT(1) NOT NULL COMMENT '그룹 종류 : 0 - 일반 그룹, 1 -..

DB/MySQL 2016.09.06

[MariaDB] Commands out of sync 문제

문제점 및 증상Maria DB로 Stored Procedure를 호출하고, 다른 SELECT 문을 호출하였더니, "Commands out of sync; you can't run this command now" 오류가 발생함여러 가지 방법을 모두 사용하여도 동일한 결과만 나타남. 문제점 분석여러 가지 검색한 결과, 사용이 끝나지 않은 리소스 때문에 그런 것이라고는 나오는데, 리소스 사용을 끝내는 방법은 찾을 수 없었음 수정 내용최초 호출하는 저장 프로시저에서 INSERT를 여러 번 수행하고, 마지막으로 삽입된 테이블의 LAST_INSERT_ID() 값을 반환하는 형태였음mysql_fetch_row() 의 호출결과가 없을 때까지도 호출해 봤으나, 별 차이가 없었음당연히 저장 프로시저 내의 순서대로 PHP ..

DB/MySQL 2016.09.04

MySQL 관리

데이터베이스 생성mysql을 이용하는 방법 # mysql -u root -p mysql mysql> CREATE DATABASE TEST; mysql> \q mysqladmin을 이용하는 방법 # mysqladmin -u root -p create TESTmysqldump이용한 데이터베이스 백업, 복구 방법TEST DB 백업 # mysqldump -u root -p TEST > test-20100225.sqlTEST DB 복구 # mysqldump -u root -u TEST < test-20100225.sqlMysql root 암호 변경하기mysqladmin을 이용하는 방법 # ./mysqladmin -u root -p password 12345mysql의 set 명령어로 root 암호를 변경하는 방법..

DB/MySQL 2014.04.17

엑셀 자료를 SSIS를 이용하여 Import 하는 방법

엑셀의 자료를 MS-SQL SSIS를 이용하여 테이블로 가져오는 방법을 정리해 보았습니다. 알단 SMSS로 엑셀을 가져와 데이터를 저장할 테이블이 위치할 데이터베이스에서 오른쪽 마우스를 눌러 아래와 같은 팝업 메뉴가 나왔을 때, 순서대로 선택하여 "태스크 > 데이터 가져오기"를 실행합니다. 그러면 아래 그림과 같이 가져오기 및 내보내기 마법사가 시작됩니다. 다음 버튼을 눌러서 데이터 원본을 지정합니다. 아래와 같이 원본 형태를 "Microsoft Excel"로 선택하고, "찾아보기" 버튼을 눌러서 데이터베이스에 입력할 엑셀 파일을 선택한 후, "다음" 버튼을 누릅니다. 엑셀 자료가 입력된 대상 서버의 정보를 올바르게 입력하고, 대상 데이터베이스를 선택한 다음에 "다음" 버튼을 누릅니다. 엑셀 자료를 가져..

DB/MS-SQL 2011.09.22

SQL Agent의 작업기록이 남지 않는 문제

증상 및 문제점새로 운영체제를 재설치하고, 기존 데이터베이스를 복구한 이후로 SQL Agent의 작업기록에 수행된 작업에 대한 로그 기록이 하나도 되지 않아, 특정 작업에서 어떤 오류가 발생했는지 확인이 불가능한 문제를 겪었습니다. 이벤트 로그 등에 특이한 오류는 전혀 없었고, SQL 로그 디렉토리의 "SQLAGENT.1" 파일을 열어 보았더니, 다음과 같은 오류가 계속 기록되어 있었습니다. 2010-10-12 17:22:31 - ! [298] SQLServer 오류: 10061, TCP 공급자: 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. [SQLSTATE 08001] 2010-10-12 17:22:31 - ! [165] ODBC 오류: 0, 로그인 제한 시간이 만료되었습니다. [SQLST..

DB/MS-SQL 2010.10.12

삭제된 데이터 복구하기

서론DELETE나 TRUNCATE TABLE 명령을 통하여 삭제된 데이터를 복구하는 방법을 알아보겠습니다. BinamiRedmine을 윈도우즈 서버에 새로 설치하여 프로젝트를 관리하려던 중에 기존에 사용하던 Mangis의 이슈를 옮겨오는 작업을 하던 중에 Redmine의 모든 데이터가 없어져 버리는 사태가 발생하였습니다. 참 난감한 순간이었는데... MySQL에 쌓여있는 로그를 가지고 복구가 가능했습니다. 해결방법MySQL 툴 중에 ""라는 명령 도구가 있습니다. 이를 이용하면 MySQL이 쌓아 놓은 로그를 바탕으로 삭제된 데이터를 살릴 수 있습니다. 일반적으로 MySQL 서버에서 실행된 모든 쿼리가 data 디렉토리 아래에 xxx-bin.000001, xxx-bin.000002와 같은 파일이 생성되어 ..

DB/MySQL 2010.07.11

DB 서버 이전을 위한 백업(Backup) / 복구(Restore) 후 연결된 서버 오류(LinkedServerLogin Error) 문제

문제점 및 증상 DB 서버 이전을 위하여 master, model, msdb 등을 그대로 복사하여 복구한 이후, 연결된 서버에서 다음과 같은 오류가 발생합니다. 제목: Microsoft SQL Server Management Studio ------------------------------ LinkedServerLogin ''에 대한 만들기이(가) 실패했습니다. (SqlManagerUI) 도움말을 보려면 다음을 클릭하십시오: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.4035.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperatio..

DB/MS-SQL 2010.05.11

@@IDENTITY, SCOPE_IDENTITY(), IDENT_CURRENT() 함수간의 차이점

테이블을 생성할 때, 일련번호를 할당하기 위하여 IDENTITY를 사용하게 됩니다. IDENTITY를 사용하할 때, 삽입한 행의 일련번호를 얻기 위하여 흔히 @@IDENTITY 함수를 자주 이용하게 되는데, @@IDENTITY 함수를 사용할 때 주의할 점이 있습니다. @@IDENTITY 함수는 현재 세션에서 삽입된 마지막 IDENTITY 값을 반환합니다. 따라서 트리거에서 다른 테이블의 IDENTITY가 새로 추가되거나 하게 되면 원치 않는 결과를 가져오게 됩니다.(@@IDENTITY 함수가 트리거에서 삽입된 IDENTITY 값을 반환함) 그래서 현재 범위(하나의 저장프로시저 내, 하나의 쿼리문 내 ...)내에서 마지막으로 추가된 IDENTITY 다음 값을 얻을 때는 SCOPE_IDENTITY() 함수를..

DB/MS-SQL 2010.02.05

SET IDENTTIY_INSERT 사용시 주의할 점.

세션에서 한 테이블의 IDENTITY_INSERT 속성만 ON으로 설정할 수 있습니다. CREATE TABLE IDENTITY1 ( id_no INT IDENTITY(1, 1), data1 VARCHAR(100) ) GO CREATE TABLE IDENTITY2 ( id_no INT IDENTITY(1, 1), data2 VARCHAR(100) ) GO SET IDENTITY_INSERT IDENTITY1 ON SET IDENTITY_INSERT IDENTITY2 ON 위 코드를 실행하면 아래와 같은 오류가 발생하게 됩니다. 메시지 8107, 수준 16, 상태 1, 줄 1 IDENTITY_INSERT is already ON for table 'master.dbo.IDENTITY1'. Cannot per..

DB/MS-SQL 2009.11.26

특정 문자열이 포함되어 있는 작업 찾기

엎서 특정 문자열을 포함하고 있는 저장 프로시저나 트리거를 찾는 방법에 대해서 보았는데, 연관하여 SQL 서버에 설정된 작업들 중에서 특정한 문자열을 포함하고 있는 작업을 찾을 때는 아래와 같이 하면 됩니다. USE msdb; GO; SELECT J.name, S.* FROM dbo.sysjobsteps S INNER JOIN dbo.sysjobs J ON J.job_id = S.job_id WHERE 1 = 1 AND command LIKE '%KEYWORD%' ORDER BY S.job_id, S.step_id;

DB/MS-SQL 2009.10.29
728x90