Microsoft SQL Server, ORACAL 및 Sybase는 현재 널리 사용되는 데이터베이스 관리 시스템(RDMS)입니다. SQL Server의 지속적인 개선 및 개발과 네트워크 운영 체제인 Windows NT와의 완벽한 조합으로 분산 클라이언트-서버 구조 프로그래밍을 위해 설계되었습니다. .좋은 개발 환경을 제공하므로 점점 더 많은 관심을 끌고 있습니다.
Microsoft SQL Server는 Windows NT 스레딩 및 예약 서비스, 성능 모니터 및 이벤트 브라우저와의 통합을 제공하고 Windows 관리 인터페이스를 기반으로 하며 여러 서버의 원격 데이터에 대한 액세스를 제공하는 확장 가능한 고성능 데이터베이스 관리 시스템입니다. -복제 관리, 서버 관리, 진단 및 조정을 위한 제어를 중단합니다.
DMO(분산 관리 개체)는 SQL Server 엔진 및 서비스에 개체 인터페이스를 제공합니다. SQL-DMO는 Windows 95 및 Windows NT 운영 체제에 제공되는 32비트 OLE 자동화 개체입니다. OLE는 응용 프로그램 공유 개체를 관리하거나 데이터에 대한 액세스를 허용하는 프로그래밍 방법입니다. DMO는 OLE 구조를 사용하여 개발되었으며 모든 SQL Server 관리 기능에 대한 인터페이스를 제공합니다. DMO를 사용하면 소프트웨어 개발자가 SQL Server 데이터 개체에 직접 액세스할 수 있습니다. 분산 관리 개체를 사용하면 Visual Basic 및 Visual FoxPro와 같은 프로그래밍 도구를 사용하여 SQL Server에 직접 액세스할 수 있습니다.
Microsoft SQL Server에서 제공하는 도구를 사용하면 클라이언트가 다양한 방법을 통해 서버의 데이터에 액세스할 수 있습니다. 이러한 도구의 핵심 부분은 Transact-SQL(트랜잭션 SQL) 코드입니다. Transact-SQL은 많은 추가 기능을 제공하는 SQL(구조적 쿼리 언어)의 향상된 버전입니다. Transact-SQL을 사용하면 데이터베이스 장치, 데이터베이스 및 기타 데이터 개체를 만들고, 데이터베이스에서 데이터를 추출하고, 데이터를 수정하고, SQL Server에서 설정을 동적으로 변경할 수 있습니다. 따라서 Transact-SQL을 사용하면 응용 프로그램의 실용성이 크게 향상됩니다.
클라이언트/서버 구조 프로젝트를 개발할 때 여러 데이터 개체의 구조를 설정해야 합니다. 개발 중인 프로젝트가 특정 고객을 위한 것이라면 서버에 데이터베이스 장비, 데이터베이스 및 테이블을 수동으로 설정하는 것이 가능합니다. 개발 중인 프로젝트가 특정 고객을 위한 것이 아닌 소프트웨어로 출시될 때 데이터 객체의 구조를 수동으로 구축하는 것은 의심할 여지 없이 비현실적입니다. 실행 중입니다. 서버에 데이터베이스와 테이블을 구축합니다. 따라서 분산 관리 개체와 Transact-SQL을 사용하는 것은 클라이언트/서버 구조를 프로그래밍하는 데 중요한 수단입니다.
다음에서는 Visual Basic 5.0에서 DMO와 Transact-SQL을 사용하여 SQL Server에서 데이터베이스 장치, 데이터베이스 및 기타 데이터 개체를 만드는 방법에 대해 설명합니다. 특정 문제부터 시작해 보겠습니다. SQL Server에 200M 및 400M 데이터베이스 장치 Device_1 및 Device_2를 만듭니다. 두 개의 데이터베이스 Db1 및 DB2는 각각 Device_1 및 Device_2에 4개의 도메인을 만듭니다. ID_Code를 키로 사용하고 Name을 인덱스로 사용하는 Name, Age, Sex, ID_Code Db2 데이터베이스에 테이블 T_2를 작성하십시오. 이름, Age, Sex, Department, No를 키로 사용하십시오. 성격.
SQL Server에 액세스하려면 먼저 SQL 서비스 관리자를 열어야 합니다. SQL 서비스 관리자는 MSSQLServer 및 SQLExecutive를 포함한 SQL Server 서비스를 시작, 일시 중지, 계속 및 중지하는 데 사용됩니다. 이 두 서비스를 수동으로 열거나 프로그램의 명령줄을 통해 열 수 있습니다.
수동 방법을 사용하는 경우 SQL 서비스 관리자를 열고 MSSQLServer 및 SQLExecutive 서비스의 시작/계속 녹색 표시등을 직접 활성화하십시오.
라인 명령 시작 방법을 사용하면 VB 셸 명령
X=shell("Sqlmgr.exe",1)을 사용하여 SQL 서비스 관리자 창을 표시할 수 있습니다.
X=shell("net start mssqlserver")는 MSSQLServer 서비스를 시작합니다.
X=shell("net start sqlexecutive")은 SQLExecutive 서비스를 시작합니다.
여기서는 프로그래밍을 통해 SQL Server에 데이터 개체 구조를 동적으로 설정하려고 하므로 line 명령 방법을 사용하는 것이 좋습니다.
SQL Server 관리자를 시작한 후 DMO 및 Transact-SQL을 사용하여 다음 단계에 따라 데이터 개체를 만들 수 있습니다.
1. DMO를 사용하려면 먼저 VB 도구 모음에서 참조를 열고 Microsoft Windows Common Control 5.0을 선택해야 합니다. 참조 표시줄에 이 항목이 없으면 찾아보기를 선택하고 WINNTSystem32 Comctl32 아래의 디렉터리를 변경합니다. oca가 Reference에 추가되었습니다.
2. 모듈 파일(.BAS)에 SQLOLE 개체를 만듭니다.
전역 OServer를 새 SQLOLE.SQLServer로 사용
3. SQL Server와의 연결을 설정합니다.
OServer.Connect ServerName:=등록된 SQL Server 이름, 로그인:=로그인 이름(일반적으로 sa), 비밀번호:=password
4. 데이터베이스 장치 Device_1 및 Device_2를 생성합니다.
문자열로 희미한 transql
transql="마스터 사용" & _
"디스크 초기화" & _
"이름='Device_1'," & _
"Physname='D:SQLdatadevice1.dat'," & _
"vdevno=10," & _
"크기=102400" & _
"디스크 초기화" & _
"이름='Device2'," & _
"Physname='D:SQLdatadevice2.dat'," & _
"vdevno=11," & _
"크기=204800"
OServer.ExecuteImmediate Command:=transql,exectype:=SQLOLEExec_Default
5. 데이터베이스 Db_1 및 Db_2를 생성합니다.
transql = "Device_1에 데이터베이스 Db_1 생성=100"
OServer.ExecuteImmediate 명령:=transql, exectype:=SQLOLEExec_Default
transql = "Device_2에 데이터베이스 Db_2 생성=100"
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default
6. 데이터베이스에 테이블을 생성합니다.
데이터베이스 Db_1에 테이블 T_1을 생성합니다.
transql = "Db_1 사용" & _
"테이블 T_1 생성" & _
"(이름 char(8) null, " & _
" 나이숫자(2) null, " & _
" Sex smallint null, " & _
" ID_Code char(16)은 null이 아닙니다. " & _
" 제약 조건 c_1 클러스터된 기본 키(ID_Code))"
OServer.ExecuteImmediate 명령:=transql,exectype:=SQLOLEExec_Default
테이블 T_1의 Name 열에 인덱스를 만듭니다.
transql="T_1(이름)에 INDEX index_1 생성"
OServer.ExecuteImmediate 명령:=transql,exectype:=SQLOLEExec_Default
데이터베이스 Db_2에 테이블 T_2를 생성합니다.
transql = "Db_2 사용" & _
"테이블 T_2 생성" & _
"(이름 char(8) null, " & _
" 나이숫자(2) null, " & _
" Sex smallint null, " & _
" 부서 문자(16) nill이 아님, " & _
"문자 없음(4)은 null이 아닙니다." & _
"제약조건 c_2 기본 키 클러스터링(부서,No))"
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default
이제 데이터 개체를 구축하는 코딩 작업이 완료되었습니다. 프로그램을 컴파일하고 실행한 후 라이브러리의 데이터베이스 장치, 데이터베이스 및 테이블이 자동으로 생성됩니다. SQL Server에서.
데이터베이스 디바이스의 경우 DISK REINIT, DISK REFIT, DISK RESIZE를 이용하여 운영할 수 있으며, 데이터베이스 디바이스 Device_1의 용량을 200M까지 확장하려면 다음 방법을 사용하면 됩니다.
DISK RESIZE
이름='Devive_1',
Size = 102400
SQL Server에 이미 구축된 데이터베이스 및 테이블의 구조도 DMO 및 트랜잭션 SQL을 통해 수정 및 삭제가 가능합니다. 위 코딩과 마찬가지로 Alter Database Db_1, Alter DatabaseDb_2, Alter Table T_1, Alter Table T_2 등의 트랜잭션 SQL 문을 사용하여 구축된 데이터베이스 및 테이블의 구조를 수정하고, Drop Database, Drop Table 트랜잭션 문을 사용하여 삭제할 수 있습니다. 데이터베이스와 테이블이 생성되었습니다.
위에서는 SQL Server에서 데이터 개체의 구조를 동적으로 설정하고 액세스하는 방법에 대해 설명했습니다. SQL Server의 데이터베이스 및 테이블 내용에 액세스하려면 ODBC(Open Database Connectivity), DAO(Data Access Object), RDO를 사용할 수 있습니다. (원격 데이터 개체) 또는 프로그래밍을 위한 DB-Library.