Microsoft SQL Server、ORACAL、および Sybase は現在一般的なデータベース管理システム (RDMS) であり、SQL Server は継続的に改善および開発されており、ネットワーク オペレーティング システムである Windows NT との完璧な組み合わせにより、分散クライアント サーバー構造プログラミング用に設計されています。優れた開発環境を提供するため、ますます注目を集めています。
Microsoft SQL Server は、Windows NT のスレッドおよびスケジューリング サービス、パフォーマンス モニターおよびイベント ブラウザとの統合を提供する、スケーラブルで高性能のデータベース管理システムです。Windows 管理インターフェイスに基づいており、複数のサーバー上のリモート データへのアクセスを提供します。 視覚的なドラッグ アンド-レプリケーション管理、サーバー管理、診断およびチューニングのための -drop 制御。
分散管理オブジェクト (DMO) は、SQL Server エンジンとサービスへのオブジェクト インターフェイスを提供します。 SQL-DMO は、Windows 95 および Windows NT オペレーティング システム用に提供される 32 ビット OLE オートメーション オブジェクトであり、アプリケーション共有オブジェクトを管理するための標準および方法です。アプリケーションがデータの共有オブジェクトを管理またはアクセスできるようにするプログラミング方法です。 DMO は、OLE 構造を使用して開発されており、すべての SQL Server 管理機能へのインターフェイスを備えた OLE 互換アプリケーションを提供するため、ソフトウェア開発者は 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 データベースに 100M の容量を持つ 2 つのデータベース Db1 と DB2 を作成します。Db1 データベースにテーブル T_1 を作成します。名前、年齢、性別、ID_Code、キーとして ID_Code、インデックスとして名前を使用して、Db2 データベースにテーブル T_2 を作成します。 名前、年齢、性別、部門、番号、部門および番号をキーとして使用します。キャラクター。
SQL Server にアクセスするには、まず SQL Service Manager を開く必要があります。SQL Service Manager は、MSSQLServer や SQLExecutive などの SQL Server サービスを開始、一時停止、続行、停止するために使用されます。これら 2 つのサービスは手動で開くことも、プログラムのコマンド ラインを使用して開くこともできます。
手動の方法を使用する場合は、SQL サービス マネージャーを開き、サービス MSSQLServer および SQLExecutive の開始/続行の緑色のライトを直接アクティブにします。
行コマンド起動方法を使用すると、VB シェル コマンド
X=shell("Sqlmgr.exe",1) を使用して SQL サービス マネージャー ウィンドウを表示できます。
X=shell("net start mssqlserver") MSSQLServer サービスを開始します
X=shell("net start sqlexecutive") は SQLExecutive サービスを開始します。
ここではプログラミングを通じて SQL Server 上にデータ オブジェクト構造を動的に確立したいため、ライン コマンド メソッドを使用することをお勧めします。
SQL Server Manager を起動した後、DMO と Transact-SQL を使用して、次の手順に従ってデータ オブジェクトを作成できます。
1. DMO を使用するには、まず VB ツールバーで「リファレンス」を開き、「Microsoft Windows Common Control 5.0」を選択する必要があります。この項目がリファレンス バーに見つからない場合は、「参照」を選択して、WINNTSystem32 Comctl32 の下のディレクトリを変更します。 oca を参考資料に追加しました。
2. モジュール ファイル (.BAS) に SQLOLE オブジェクトを作成します。
新しい SQLOLE.SQLServer としてのグローバル OSServer
3. SQL Server との接続を確立します。
OServer.Connect ServerName:=登録された SQL Server 名、Login:=ログイン名 (通常は sa)、Password:=パスワード
4. データベース デバイス Device_1 および Device_2 を作成します。
文字列としての dim transql
transql="マスターを使用" & _
「ディスク初期化」&_
"名前='デバイス_1'," & _
"Physname='D:SQLdatadevice1.dat'," & _
"vdevno=10" & _
"サイズ=102400" & _
「ディスク初期化」&_
"名前='デバイス2'," & _
"Physname='D:SQLdatadevice2.dat'," & _
"vdevno=11" & _
「サイズ=204800」
OServer.ExecuteImmediate Command:=transql,exectype:=SQLOLEExec_Default
5. データベース Db_1 および Db_2 を作成します。
transql = "Device_1=100 にデータベース Db_1 を作成します"
OServer.ExecuteImmediate コマンド:=transql、exectype:=SQLOLEExec_Default
transql = "Device_2=100 にデータベース Db_2 を作成します"
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default
6. データベースにテーブルを作成します。
データベース Db_1 にテーブル T_1 を作成します。
transql = "Db_1 を使用" & _
"テーブル T_1 を作成" & _
"(Name char(8) null, " & _
" 年齢 numeric(2) null, " & _
" セックス smallint null, " & _
" ID_Code char(16) が null ではありません、" & _
「制約 c_1 クラスター化された主キー (ID_Code))」
OServer.ExecuteImmediate コマンド:=transql,exectype:=SQLOLEExec_Default
テーブル T_1 の Name 列にインデックスを作成します。
transql="CREATE INDEX Index_1 ON T_1 (名前)"
OServer.ExecuteImmediate コマンド:=transql,exectype:=SQLOLEExec_Default
データベース Db_2 にテーブル T_2 を作成します。
transql = "Db_2 を使用" & _
"テーブル T_2 を作成" & _
"(Name char(8) null, " & _
" 年齢 numeric(2) null, " & _
" セックス smallint null, " & _
" 部門 char(16) が nill ではありません、 " & _
"いいえ char(4) は null ではありません" & _
「制約 c_2 主キーがクラスター化されました (部門、番号))」
OServer.ExecuteImmediate Command:=transql, exectype:=SQLOLEExec_Default
この時点で、データ オブジェクトを確立するコーディング作業が完了しました。プログラムがコンパイルされて実行されると、ライブラリ内のデータベース デバイス、データベース、テーブルが自動的に作成されます。 SQL サーバー上で。
データベースデバイスの場合、DISK REINIT、DISK REFIT、およびDISK
RESIZE を使用して操作できます。データベースデバイス Device_1 の容量を 200M に拡張したい場合は、次の方法を使用できます。
名前='Devive_1',
サイズ = 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。