トレーニング
モジュール
PostgreSQL でのクライアントとサーバー間の通信について - Training
PostgreSQL は、多くのクライアントが中央サーバーに接続できるクライアント サーバー システムです。 このモジュールでは、PostgreSQL がクライアントからの接続を管理する方法と、一般的な PostgreSQL クライアント ツールについて説明します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
この記事では、SQL Server データベースに接続するときに、接続文字列でクライアント ネットワーク ライブラリをプログラムで指定する方法について説明します。
Microsoft Data Access Components (MDAC) 2.6 以降では、接続文字列の server name パラメーターを使用してクライアント アクセス ライブラリを指定できます。 そのため、接続先のサーバー名をアプリケーションに求められたら、特定のクライアント アクセス ライブラリを指定できます。 この動作は、SQL Server の接続の問題をテストしてトラブルシューティングする場合に役立ちます。
たとえば、Osql コマンド ライン ユーティリティを使用して SQL Server に接続し、TCP/IP ネットワーク ライブラリを強制的に使用することができます。
osql -Stcp:myServer,portNumber -E
元の製品バージョン: SQL Server
元の KB 番号: 313295
次の Microsoft Visual C# .NET コード サンプルでは、接続文字列を設定する方法を示します。 接続文字列の形式は、使用する言語に関係なく同じです。
using System;
using System.Data;
using System.Data.SqlClient;
namespace getCurrentProtocol
{
/// <summary>
/// Main Application Driver Class
/// </summary>
class Driver
{
static void Main(string[] args)
{
string sCxn = "server=myServer;Integrated Security=SSPI; database=master";
//string sCxn = "server=np:myServer;Integrated Security=SSPI; database=master";
//string sCxn = "server=tcp:myServer;Integrated Security=SSPI; database=master";
//string sCxn = "server=rpc:myServer;Integrated Security=SSPI; database=master";
//string sCxn = "server=lpc:myServer;Integrated Security=SSPI; database=master";
string sCmd = "SELECT net_library from sysprocesses where spid=@@spid";
SqlConnection cxn = new SqlConnection(sCxn);
SqlCommand sqlCmd = new SqlCommand(sCmd, cxn);
SqlDataAdapter sqlDa = new SqlDataAdapter(sCmd, cxn);
DataTable dt = new DataTable();
try
{
sqlDa.Fill(dt);
Console.WriteLine("Hit ENTER to continue ...");
Console.ReadLine();
foreach (DataRow dr in dt.Rows)
Console.WriteLine(dr["net_library"]);
}
catch (SqlException e)
{
Console.WriteLine(e.StackTrace);
Console.WriteLine("SQL Error Number: " + e.Number);
Console.WriteLine("SQL Error Message: " + e.Message);
}
}
}
}
注意
接続文字列、特にサーバー パラメーターの値は次のとおりです。
string sCxn = "server=myServer;Integrated Security=SSPI; database=northwind"
次のコード サンプルは、サーバー パラメーターの値を使用してさまざまなネットワーク ライブラリを指定する方法を示しています。
TCP/IP:
server=tcp:hostname
必要に応じて、特定のポート番号を指定できます。 既定では、ポートは 1433 です。
server=tcp:hostname, portNumber
名前付きパイプ:
server=np:hostname
必要に応じて、特定の名前付きパイプを指定できます。
server=np:\\hostname\pipe\pipeName
既定では、パイプ名は sql\query です。 名前付きインスタンスに接続する場合、パイプ名は通常、次の形式になります。
MSSQL$instnaceName\sql\query
基になるプロトコルの既定値は、プロトコルが次のいずれかの値を持つことができますオペレーティング システムの設定によって決定されます。
値 | 基になるプロトコル |
---|---|
ncacn_np | 名前付きパイプ |
ncacn_ip_tcp | 伝送制御プロトコル/インターネット プロトコル (TCP/IP) |
ncalrpc | ローカル プロシージャ呼び出し |
共有メモリ:
server=lpc:hostname
詳細については、「 Appendix A: レジストリ エントリ」を参照してください。
トレーニング
モジュール
PostgreSQL でのクライアントとサーバー間の通信について - Training
PostgreSQL は、多くのクライアントが中央サーバーに接続できるクライアント サーバー システムです。 このモジュールでは、PostgreSQL がクライアントからの接続を管理する方法と、一般的な PostgreSQL クライアント ツールについて説明します。