Microsoft SQL Server に対するクライアント プログラミングのホーム ページ
Microsoft SQL Server を操作するための、およびクラウドで Azure SQL Database を操作するためのクライアント プログラミングに関するホームページへようこそ。 この記事には以下の情報が含まれています。
- 使用できる言語とドライバーの組み合わせについて説明します。
- Linux (Ubuntu など)、macOS、および Windows のオペレーティング システムに関する情報が提供されています。
- 各組み合わせの詳細なドキュメントへのリンクを提供します。
- 特定の言語の階層型ドキュメントの区分とサブ区分を表示します (該当する場合)。
Azure SQL データベース
特定の言語については、SQL Server に接続するコードは、Azure SQL Database に接続するためのコードとほぼ同じです。
Azure SQL Database に接続するための接続文字列の詳細については、以下を参照してください。
- .NET Core (C#) を使用して Azure SQL データベースに照会する。
- 目次の前の記事の近くにある、他の言語に関するその他の Azure SQL Database の記事。 たとえば、「PHP を使用して Azure SQL データベースに照会する」を参照してください。
クライアント プログラムの言語とドライバー
次の表の各言語のイメージは、その言語と SQL Server の使用に関する詳細情報にリンクされています。 各リンクをクリックすると、この記事に示されているその言語のセクションに移動します。
ダウンロードとインストール
次の記事では、プログラミング言語で使用するさまざまな SQL 接続ドライバーのダウンロードとインストールについて説明します。
ADO.NET が使用されている C#
ADO.NET を最もよく使用するのが、C#、Visual Basic などの .NET マネージド言語です。 ADO.NET は、.NET Framework クラスのサブセットの名前です。
コード例
例 | 説明 |
---|---|
ADO.NET を使用した SQL への接続を概念実証する | SQL Server の接続とクエリに重点を置いた小さなコード例。 |
ADO.NET で SQL に弾性的に接続する | コード例の再試行ロジック (接続が失われる可能性があるため)。 再試行ロジックは、インターネットを介して維持される、任意のクラウド データベース (Azure SQL Database など) への接続に適切に適用されます。 |
Azure SQL Database: Windows/Linux/macOS で .NET Core を使用して C# プログラムを作成し、接続およびクエリを実行する方法のデモ | Azure SQL Database の例。 |
ドキュメント
領域 | 説明 |
---|---|
ADO.NET が使用されている C# | ドキュメントのルート。 |
名前空間: System.Data | ADO.NET に使用されるクラスのセット。 |
名前空間: Microsoft.Data.SqlClient | Microsoft .NET Data Provider for SQL Server に使用されるクラスのセット |
Entity Framework が使用される C#
Entity Framework (EF) は、オブジェクト リレーショナル マッピング (ORM) を提供します。 ORM を使用すると、リレーショナル SQL データベースから取得したデータを、オブジェクト指向プログラミング (OOP) のソース コードで操作しやすくなります。
EF には、次のテクノロジと直接的または間接的なリレーションシップがあります。
- .NET Framework
- LINQ to SQL または LINQ to Entities
- 言語構文の拡張機能。C# の
=>
演算子など。 - SQL データベースのテーブルにマップされるクラスのソース コードを生成する便利なプログラム。 EdmGen.exe など。
元の Entity Framework と新しい Entity Framework
Entity Framework の開始ページでは、EF が次のように説明されています。
- Entity Framework は、.NET 開発者が .NET オブジェクトを使用してデータベースを操作できるようにする、オブジェクト リレーショナル マッパー (O/RM) です。 これにより、開発者が通常は記述する必要のあるデータアクセス ソース コードの大部分が不要になります。
Entity Framework は、2 つの異なるソース コード分岐によって共有される名前です。 一方の EF 分岐は古く、そのソース コードはパブリックで管理できるようになりました。 もう一方は新しい EF です。 この 2 つの EF について次に説明します。
Version | Description |
---|---|
EF 6.x | Microsoft が最初に EF をリリースしたのは 2008 年 8 月です。 そして 2015 年 3 月、Microsoft は、最後の Microsoft 開発バージョンとして EF 6.x を発表し、 ソース コードをパブリック ドメインに公開しました。 当初、EF は .NET Framework に含まれていましたが、 EF 6 は .NET Framework から削除されました。 GitHub の aspnet/EntityFramework6 リポジトリの EF 6.x ソース コード |
EF Core | 2016 年 6 月、Microsoft は新しく開発された EF Core をリリースしました。 EF Core は、柔軟性と移植性の向上を目指して設計されたもので、 Microsoft Windows 以外のオペレーティング システムで実行できます。 また、EF Core では、Microsoft SQL Server やその他のリレーショナル データベース以外のデータベースを操作することもできます。 C# のコード例: Entity Framework Core の概要 既存のデータベースを使用した .NET Framework 上の EF Core の概要 |
EF とその関連テクノロジは強力で、すべての区分を習得したいと考えている開発者にとっては学習するべきものが多くあります。
Java と JDBC
Microsoft からは、SQL Server (または Azure SQL Database) で使用するための Java Database Connectivity (JDBC) ドライバーが提供されています。 これは Type 4 JDBC ドライバーであり、標準の JDBC アプリケーション プログラム インターフェイス (API) によってデータベース接続を提供します。
コード例
例 | 説明 |
---|---|
コード例 | データ型、結果セット、および大きなデータについて学習するためのコード例。 |
接続 URL のサンプル | 接続 URL を使用して SQL Server に接続する方法について説明します。 その後、これを使って SQL ステートメントを使用し、データを取得します。 |
データ ソースのサンプル | データ ソースを使用して SQL Server に接続する方法について説明します。 その後、ストアド プロシージャを使用してデータを取得します。 |
Java を使用して Azure SQL データベースに照会する | Azure SQL Database の例。 |
ドキュメント
JDBC ドキュメントに含まれる主な区分を次に示します。
領域 | 説明 |
---|---|
Java Database Connectivity (JDBC) | JDBC ドキュメントのルート。 |
リファレンス | インターフェイス、クラス、およびメンバー。 |
JDBC SQL ドライバーのプログラミング ガイド | 構成情報とコード例。 |
Node.js
Node.js を使用すると、Windows、Linux、または macOS から SQL Server に接続できます。 Node.js ドキュメントのルートについては、こちらをご覧ください。
SQL Server 用の Node.js 接続ドライバーは JavaScript で実装されます。 このドライバーで使用される TDS プロトコルは、最新バージョンのすべての SQL Server でサポートされています。 このドライバーはオープンソース プロジェクトであり、GitHub で入手できます。
コード例
例 | 説明 |
---|---|
Node.js を使用した SQL への接続を概念実証する | SQL Server に接続してクエリを実行するための最小限のソース コード。 |
Azure SQL データベース: Node.js を使用してクエリを実行する | クラウドの Azure SQL Database の例。 |
C++ 用の ODBC
1990 年代に開発された Open Database Connectivity (ODBC) は、.NET Framework より前に登場しました。 ODBC は、特定のデータベース システムにもオペレーティング システムにも依存しないように設計されています。
長年にわたって、多数の ODBC ドライバーが Microsoft 内外のグループによって作成およびリリースされ、 そのドライバー範囲には、クライアント プログラミング言語が複数含まれます。 データ ターゲットのリストは、SQL Server をはるかに超えています。
他の接続ドライバーの中には、ODBC が内部的に使用されるものもあります。
コードの例
ドキュメントの概要
このセクションの ODBC コンテンツは、C++ から SQL Server または Azure SQL Database にアクセスすることに重点を置いています。 次の表は、ODBC の主要ドキュメントの概要を示しています。
領域 | サブ区分 | 説明 |
---|---|---|
C++ 用の ODBC | ドキュメントのルート。 | |
Linux-macOS | Linux または macOS オペレーティング システムでの ODBC の使用に関する情報。 | |
Windows | Windows オペレーティング システムでの ODBC の使用に関する情報。 | |
管理 | ODBC データ ソースを管理するための管理ツール。 | |
Microsoft | Microsoft によって作成および提供される各種 ODBC ドライバー。 | |
概念とリファレンス | 従来のリファレンスのほか、ODBC インターフェイスに関する概念情報。 | |
概念とリファレンス | 付録 | 状態遷移テーブル、ODBC カーソル ライブラリなど。 |
概念とリファレンス | アプリの開発 | 関数、ハンドルなど。 |
概念とリファレンス | ドライバーの開発 | 独自の ODBC ドライバーを開発する方法 (特別なデータ ソースがある場合)。 |
概念とリファレンス | インストール | ODBC のインストール、サブキーなど。 |
概念とリファレンス | 構文 | セットアップ、インストーラー、翻訳、およびデータ アクセスのための API。 |
PHP
PHP を使用して SQL Server と対話できます。 PHP ドキュメントのルートについては、こちらをご覧ください。
コード例
例 | 説明 |
---|---|
PHP を使用した SQL への接続を概念実証する | SQL Server の接続とクエリに重点を置いた小さなコード例。 |
PHP で SQL に弾性的に接続する | コード例の再試行ロジック (インターネットおよびクラウドを介した接続が失われる可能性があるため)。 |
Azure SQL データベース: PHP を使用してクエリを実行する | Azure SQL Database の例。 |
Python
Python を使用して SQL Server と対話できます。
コード例
例 | 説明 |
---|---|
pyodbc と Python を使用した SQL への接続の概念実証 | SQL Server の接続とクエリに重点を置いた小さなコード例。 |
Azure SQL データベース: Python を使用してクエリを実行する | Azure SQL Database の例。 |
ドキュメント
領域 | 説明 |
---|---|
Python から SQL Server | ドキュメントのルート。 |
pymssql ドライバー | Microsoft では、pymssql ドライバーの保守もテストも行いません。 pymssql 接続ドライバーは、Python プログラムで使用するための、SQL データベースに対するシンプルなインターフェイスです。 pymssql は FreeTDS を基盤として構築され、Python DB-API (PEP-249) インターフェイスを Microsoft SQL Server に提供します。 |
pyodbc ドライバー | pyodbc 接続ドライバーは、ODBC データベースに容易にアクセスできるようにするオープンソースの Python モジュールです。 DB API 2.0 仕様を実装していますが、より Python らしい利便性を備えています。 |
Ruby
Ruby を使用して SQL Server と対話できます。 Ruby ドキュメントのルートについては、こちらをご覧ください。
コード例
例 | 説明 |
---|---|
Ruby を使用した SQL への接続を概念実証する | SQL Server の接続とクエリに重点を置いた小さなコード例。 |
Azure SQL データベース: Ruby を使用してクエリを実行する | Azure SQL Database の例。 |
他の開発
このセクションでは、その他の開発オプションに関するリンクを示します。 これには Azure 開発全般に同じ言語を使用することが含まれます。 この情報は、Azure SQL Database と Microsoft SQL Server のみを対象とするものではありません。