728x90

SQL Native Client(SNAC)은 SQL Server 2005에 새로이 추가된 Data Access Libary로 이해하면 됩니다.

간단히 말하면, SNAC은 OLE DB와 ODBC 모두를 지원하는데 사용하는 Stand-alone Data Access API입니다. Microsoft Data Access Components(MDAC)이 지원하는 기능에 더하여 새로운 기능을 지원하며, SQL OLE DB Provider와 SQL ODBC Driver를 하나의 Native Dynamic Link Library(DLL)로 결합시켰습니다.

SNAC은 응용프로그램에서 SQL Server 2005의 새로운 기능(MARS:Multiple Active Result Sets, UDT:User-Defined Types, XML Data Type) 등을 활용하는데 필요합니다.

OLE DB Provider와 SQL ODBC Driver를 하나의 라이브러리로 결합한 SNAC을 새로이 공급하는 이유는 MDAC의 제한이나 문제점을 해결하기 위한 것입니다. 현재 MDAC은 윈도우 운영체제의 컴포넌트로 제공됩니다. 따라서 MDAC 기반의 응용프로그램을 개발하고 유지보수하는데 운영체제 유지보수 체계와의 문제로 인하여, 설치, 배포, 업그레이드 등과 관련된 이슈와 문제점이 많습니다. SNAC이 제공은 이러한 이슈들을 MDAC과 분리하기 위한 것으로 이해할 수 있습니다.

SNAC은 SQL Server를 위한 ODBC와 OLE DB API만을 지원하고 SQL Server 릴리스와 서비스 팩에서만 업그레이드 됩니다. MDAC은 계속해서 SNAC을 포함하는 모든 드라이버/프로바이더릉 위한 핵심적인 Data Access Service를 지원하지만 윈도우 릴리스와 서비스 팩에서만 업그레이드 됩니다.

그렇다고 무조건 SNAC을 쓰라는 것은 아닙니다. 이미 구축되어 있는 응용프로그램을 SQL 2005의 새로운 특징들을 활용할 수 있도록 업그레이드하거나 새로문 COM-기반 또는 Native 응용프로그램을 개발할 때 사용하기를 권고하고 있습니다. SQL 2005의 새로운 특징들을 사용할 필요가 없다면, 기존의 OLE DB나 ODBC 코드로 충분합니다. 물론, 데이터 접근에 있어 관리되는 코드 기반으로 가고자 한다면, .Net Framework의 ADO.NET Data Access 클래스가 필요합니다.

from olapforum

[출처] SQL Native Client(SNAC)|작성자 시샵

728x90
728x90



아래 경로에 sqlite3.exe 프로그램이 있는 폴더안에 일단 테스트로 새로운 디비를 생성한다.

sqlite3가 없는 경우 설치 GoGo : https://sqlite.org/download.html






명령프롬프트 창을 연다.




cd 경로 (sqllite3.exe 파일이 있는 경로)
경로로 이동후 sqlite3 실행 및 디비 생성
명령문 --> sqlite3 생성디비.db
아래 창 참고




데이터베이스에 테이블 생성을 한다.
아래 화면 참고




데이터 생성하여 넣는다.




데이터 생성 후 select 해 본다. insert 한 내용 조회 되면 데이터가 생성 된 것.




데이터 원본 -> .Net Framework Data Provider for SQLite 선택
Data Source : 아까 생성한 testdb.db경로 설정 하여 연결한다.




다음부터는 쭈욱 다음을 누르면서 진행하다 아래와 같은 화면이 나온다.
생성할 테이블 셀렉트 해보고 구문분석을 해본다. 연동 되면 문제 없는 것.




대상 디비명 설정한다.
매핑 편집을 클릭하면,,



매핑 편집을 클릭하면,,아래 화면이 보인다.

그리고 확인. 다음다음다음을 누르면 데이터 생성이 완료 된다.




sqlite.zip

 

sqliteadmin.zip

 



sqlite.zip는 제가 테스트하면서 만든 파일들이고,
좀 편하게 테스트 해보시려면 sqliteadmin 압축 푸신후 사용해 보세요.


------------------------------------------------------------------------------------------------------------------------

오늘 다시 sqlite이관 작업을 하려다 확인 하니  .Net Framework Data Provider for SQLite 선택 항목이 없어졌다.
sql 2008을 설치하면서 없어진건지 모르겠는데,

SQLite-1.0.66.0-setup.exe

위의 파일 설치하면 나온다.

 




728x90

'개발및업무 > SQL' 카테고리의 다른 글

[MS-SQL] RANK(), DENSE_RANK(), ROW_NUMBER() 차이(순위 생성 방법)  (4) 2011.08.03
SQL Native Client(SNAC)  (0) 2011.07.26
dts.dll 오류  (0) 2011.06.21
MS-SQL 컬럼 찾기  (0) 2011.05.17
[MS-SQL] auto commit  (0) 2011.05.16
728x90

cmd 실행

dts.dll이 있는 경로로 간다.(cd 경로)

regsvr32 dts.dll
실행


728x90

'개발및업무 > SQL' 카테고리의 다른 글

SQL Native Client(SNAC)  (0) 2011.07.26
Sqlite 데이터 MS-sql 이관 방법  (0) 2011.06.21
MS-SQL 컬럼 찾기  (0) 2011.05.17
[MS-SQL] auto commit  (0) 2011.05.16
[MS-SQL] 프로시저 내용검색  (0) 2011.05.16
728x90

 

 

방법 1)
SELECT DISTINCT name
FROM
, dbo.syscomments sc
WHERE so.id=sc.id
-- AND type = 'P' -- 타입은 프로시져, 뷰, 함수등 구분(P : 프로시져, V : 뷰, FN : 함수)

AND so.name LIKE 'SIS%' -- 찾으려는 범위 프로시져
AND sc.text LIKE '%Jumin%' -- 찾으려는 컬럼



방법 2)
SELECT DISTINCT(OBJECT_NAME(id)) as spnm2
FROM syscomments
WHERE OBJECT_NAME(id) like 'SIS%' -- 찾으려는 범위 프로시져
AND text like '%Jumin%' -- 찾으려는 컬럼



-- 테이블/프로시져/함수/뷰 등 정보를 가지고 있지만 컬럼 정보는 갖고 있지 않음
SELECT *
FROM sysobjects

-- 프로시저/함수/뷰 등 작성 text(내용)을 갖고 있고, 테이블은 내용이 없으므로 테이블 정보는 찾을 수 없다.
-- text에서 해당 컬럼을 찾아 내야 한다.
SELECT *
FROM syscomments


-- 테이블/뷰 정보만 가지고 있음, 컬럼 정보 갖고 있음
SELECT *
FROM information_schema.COLUMNS

-- 테이블 정보만 가지고 있음, 컬럼 정보 갖고 있음
SELECT *
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE



-- MS-SQL에서 테이블/뷰/프로시져/함수 등 스키마의 모든 정보에서 해당 컬럼 찾기
SELECT distinct A.Name, A.Id, A.Xtype, A.Type, B.Id, C.Table_Name, C.Column_name
, case when type = 'U' then '1'
when type = 'V' then '2'
when type = 'P' then '3'
else '4'
end as sort
-- B.Text
FROM sysobjects A
LEFT JOIN syscomments B ON (A.id = B.id)
LEFT JOIN information_schema.COLUMNS C ON (A.NAME = C.Table_Name)
WHERE A.name LIKE '%SIS_%' -- 찾으려는 범위 프로시져
AND (isnull(C.Column_Name, '') = '' OR C.Column_Name LIKE '%Jumin%' OR C.Column_Name LIKE '%주민%' OR C.Column_Name LIKE '%SocialNumber%')
AND (isnull(B.TEXT, '') = '' OR B.text LIKE '%Jumin%' OR B.text LIKE '%주민%' OR B.text LIKE '%SocialNumber%')
AND Type NOT IN ('F', 'K', 'S') -- FK, PK 제외, S는 시스템인듯
ORDER BY sort, a.name


 



728x90

'개발및업무 > SQL' 카테고리의 다른 글

Sqlite 데이터 MS-sql 이관 방법  (0) 2011.06.21
dts.dll 오류  (0) 2011.06.21
[MS-SQL] auto commit  (0) 2011.05.16
[MS-SQL] 프로시저 내용검색  (0) 2011.05.16
MS SQL 2005 Linked Server 연결(연결된 서버)  (0) 2011.05.09
728x90


Ms-sql 2005는 기본으로 auto commit을 지원합니다.
Auto commit 지원을 사용하지 않으려면 Sql 문자 앞에 SET IMPLICIT_TRANSACTIONS ON 을 설정하면 됩니다.

 

728x90

+ Recent posts