Microsoft SQL Server に対するクライアント プログラミングのホーム ページ

Microsoft SQL Server を操作するための、およびクラウドで Azure SQL Database を操作するためのクライアント プログラミングに関するホームページへようこそ。 この記事には以下の情報が含まれています。

  • 使用できる言語とドライバーの組み合わせについて説明します。
    • Linux (Ubuntu など)、macOS、および Windows のオペレーティング システムに関する情報が提供されています。
  • 各組み合わせの詳細なドキュメントへのリンクを提供します。
  • 特定の言語の階層型ドキュメントの区分とサブ区分を表示します (該当する場合)。

Azure SQL データベース

特定の言語については、SQL Server に接続するコードは、Azure SQL Database に接続するためのコードとほぼ同じです。

Azure SQL Database に接続するための接続文字列の詳細については、以下を参照してください。

クライアント プログラムの言語とドライバー

次の表の各言語のイメージは、その言語と SQL Server の使用に関する詳細情報にリンクされています。 各リンクをクリックすると、この記事に示されているその言語のセクションに移動します。

C-sharp logo

Node.js logo

Python logo

Entity Framework logo

C++ logo

Ruby logo

Java logo

PHP logo

ダウンロードとインストール

次の記事では、プログラミング言語で使用するさまざまな 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 のみを対象とするものではありません。

Azure 用の開発者ハブ