كيف يتم استخدام معلمة اسم الملقم في سلسلة اتصال لتحديد مكتبة شبكة العميل

ملخص

توضح هذه المقالة كيفية تحديد مكتبة شبكة العميل برمجياً في سلسلة الاتصال عند الاتصال بقاعدة بيانات SQL Server.

في Microsoft بيانات Access مكونات (MDAC) 2.6 والإصدارات الأحدث، يمكنك تحديد مكتبة وصول العميل باستخدام
معلمة اسم الخادم في سلسلة الاتصال. لذلك، يمكنك تحديد مكتبة وصول عميل معين عند مطالبتك بتطبيق لاسم ملقم الذي تتصل. يمكن أن يكون هذا السلوك مفيداً عند اختبار واستكشاف مشاكل اتصال ل SQL Server.

على سبيل المثال، يمكنك استخدام أداة سطر الأوامر Osql للاتصال ب SQL Server وإجباره على استخدام مكتبة شبكة الاتصال TCP/IP:
osql -Stcp:myServer,portNumber -E

نموذج التعليمات البرمجية

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
  • متعدد البروتوكولات:
    server=rpc:hostname
    يمكنك بشكل اختياري تحديد البروتوكول الأساسي.
    server=rpc:hostname, protocol
    يتم تحديد القيمة الافتراضية للبروتوكول الأساسية بإعدادات نظام التشغيل حيث يمكن أن يكون بروتوكول إحدى القيم التالية:
    القيمةبروتوكول أساسي
    ncacn_npأنابيب الاتصال المسماة
    ncacn_ip_tcpعنصر تحكم الإرسال/بروتوكول إنترنت بروتوكول (TCP/IP)
    ncacn_nb_nbشبكة نظام الإدخال/الإخراج الأساسي (NetBIOS) عبر تحسين واجهة المستخدم ل NetBIOS (NetBEUI)
    ncacn_spxتبادل رزم البيانات (SPX)
    ncacn_vns_sppبانيان فاينز
    ncadg_ip_udpمخطط بيانات Datagram Protocol (UDP) المستخدم TCP/IP
    ncadg_ipxالبينية تبادل (IPX) مخطط بيانات IPX
    ncalrpcاستدعاء الإجراء المحلي

  • ذاكرة مشتركة:
    server=lpc:hostname
  • NWlink IPX/SPX
    server=spx:hostname
  • الكروم بانيان:
    server=vines:hostname
  • أبل الحديث:
    server=adsp:hostname

المراجع

لمزيد من المعلومات، قم بزيارة موقع Microsoft التالي على الويب:

http://msdn.microsoft.com/en-us/library/aa470051.aspx
خصائص

رقم الموضوع: 313295 - آخر مراجعة: 18‏/01‏/2017 - المراجعة: 1

تعليقات