Linked Servers

کاربرد SQL Server Linked Servers در اتصال سایر داده های سازمان به داده های مکانی GIS

یکی از روش های مناسب برای ارتباط بین پایگاه داده SQL Server با سایر پایگاه های داده استفاده از قابلیت Linked Servers هست. توسط این قابلیت می توان براحتی اطلاعات موجود در انواع پایگاه های داده ی دیگر را به اطلاعات GIS متصل نمود.

سیستم اطلاعات جغرافیایی, سامانه اطلاعات جغرافیایی,سامانه اطلاعات مکانی, نرم افزار, ژئوپرتال, GIS, WebGIS, Web-GIS,Software, GIS-Software, Geoportal, Mobile-GIS


یکی از روش های مناسب برای ارتباط بین پایگاه داده SQL Server با سایر پایگاه های داده استفاده از قابلیت Linked Servers هست. توسط این قابلیت می توان براحتی از اطلاعات موجود در انواع پایگاه های داده ی دیگر استفاده نمود.

در یک سازمان ممکن است در طول سال ها و برای اهداف مختلف پایگاه های داده مختلفی موجود باشد. استفاده از اطلاعات موجود در سایر پایگاه های داده و اتصال آن ها به اطلاعات مکانی موجود در پایگاه داده مکانی (ژئودیتابیس) همواره یکی از چالش های موجود در پیاده سازی سامانه های اطلاعات مکانی است. چنانچه از پایگاه داده SQL Server برای میزبانی پایگاه داده مکانی GIS استفاده شده باشد می توان از امکانات SQL Server برای اتصال به سایر پایگاه های داده استفاده کرد.

قابلیت Linked Servers یکی از این امکانات هست. در SQL Server این امکان هست که با سایر پایگاه های داده ارتباط برقرار کرد و از اطلاعات موجود در جداول آنها مانند سایر جداول خود SQL Server استفاده کرد. ویژگی مهم این قابلیت اینست که امکان اتصال از راه دور به سایر اطلاعات هم وجود دارد، یعنی اینکه پایگاه داده دیگر می تواند حتی در سرورهای دیگر قرار داشته باشد و کافیست که سرور اصلی ما به آن سرور دسترسی داشته باشد. مثلا یک سازمان می تواند اطلاعات مورد نیاز خود را از دیگر سازمان های موازی یا زیر مجموعه خود دریافت کند. مزیت دیگر استفاده از این روش عدم نیاز به برنامه نویسی یا توسعه ابزارهای خاص است.
در ادامه با طرح یک مثال ساده روش استفاده از Linked Servers برای اتصال اطلاعات موجود در یک پایگاه داده خارجی به یک لایه موجود در پایگاه داده GIS را در تشریح می کنیم.

فرض می کنیم که در پایگاه داده مکانی یک لایه پلیگونی برای نمایش محدوده قطعات زمین وجود دارد.

لایه نمونه

لایه قطعه زمین

بخشی از اطلاعات مربوط به قطعات زمین در پایگاه داده ای واقع در سروری دیگر قرار دارند. مثلا جدولی وجود دارد که وضعیت زمین ها را از نظر قابل فروش یا واگذاری بودن در ستونی به نام status نگهداری می کند. در این جدول ستون شماره قطعه زمین (oid)وجود دارد که می توانیم از آن برای ارتباط با لایه قطعه زمین استفاده کنیم. قرار است که لایه قطعه زمین را براساس آن اطلاعات رنگآمیزی کنیم.

برقراری ارتباط

در قدم اول باید ارتباط بین پایگاه داده دوم را با پایگاه داده مکانی برقرار کنیم. برای این کار از نرم افزار SQL Server ManagementStudio استفاده می کنیم و در بخش Linked Servers یک ارتباط جدید می سازیم.

ایجاد ارتباط لینکد سرور

New Linked Server

مشخاصت لازم برای برقراری ارتباط را وارد کنید. برای این کار باید آدرس سرور و همچنین نام کاربری و گذرواژه مورد نیاز را وارد کنید.

پس از برقراری ارتباط می توانید جداول ، ویوها و سایر اشیاء مجاز در پایگاه داده دوم را ببینید.

ارتباط لینکد سرور

دسترسی به جداول از طریق Linked Server

ایجاد یک View در پایگاه داده مکانی

برای دسترسی به جداول لینک اضافه شده از طریق پایگاه داده مکانی، می توانیم برای جداول مورد نظر View ایجاد کنیم. در زیر کد مورد نیاز برای ساختن ویویی از جدول polygon_details نمایش داده شده است.


CREATE VIEW [dbo].[View_1_From_Linked_Server]
AS
SELECT        oid, status, other 
FROM            "127.0.0.1"."test"."dbo"."polygon_details"
GO

دقت کنید که بخش 127.0.0.1 باید با آدرس یا IP سروری که دیتابیس دوم روی آن قرار دارد جایگزین شود.

اتصال به لایه

حال می توانیم از ویوی ایجاد شده مانند یک جدول اطلاعات توصیفی استفاده کنیم. این ویو را به محیط ArcMap اضافه می کنیم و آنرا از طریق ستون های نظیر به لایه قطعه زمین متصل می کنیم.

اتصال ویو به لایه

اتصال ویو به لایه

و در آخر براساس اطلاعات موجود در ویو عوارض را رنگ آمیزی یا کارتوگرافی می کنیم.

کارتوگرافی براساس اطلاعات ویو

نمایش عوارض براساس اطلاعات ویو