واضح آرشیو وب فارسی:سایت ریسک: View Full Version : کار با بانکهای اطلاعاتی در #c rtech19th September 2008, 12:26 PMبدست آوردن لیست نمونه های SQL Server موجود در شبکه private void ShowSQLServerInstances() { SqlDataSourceEnumerator instance = SqlDataSourceEnumerator.Instance; System.Data.DataTable table = instance.GetDataSources(); dataGridView1.DataSource = (table); } rtech19th September 2008, 12:27 PMساختن یک Connection با استفاده از ConnectionString موجود در فایل Configuration برای خواندن ConnectionString ی که در فایل app.config قرار داده شده کافیه و ایجاد یک SqlConnection کافیه کد زیر را تایپ کنین: SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrin gs["myConnection"].ConnectionString); rtech19th September 2008, 12:27 PMساختن Connection String به روشی بسیار ساده برای ساخت یک Connection String بدون نیاز به Visual Studio ، به روش زیر عمل میکنیم: یک فایل جدید ایجاد کرده و پسوند آنرا به "udl" تغییر میدهیم. (مثلا یک فایل متنی که می شود New Text file.udl) میبینید که آیکون آن تغییر کرد کاربران ثبت نام کرده قادر به مشاهده لینک می باشند آنرا باز کنید. پنجره مشخصات Data Link باز میشود برای ایجاد Connection String برای SQL گزینه Microsoft OLE DB Provider For SQL Server را از لبه Provider انتخاب کنید دکمه Next را زده و یا به لبه Connection بروید از این قسمت تمامی مشخصههای ارتباط را میتوانید تعیین کنید بعد از مشخص کردن تمامی پارامترهای مورد نیاز دکمه Test Connection را برای اطمینان از درستی آن بزنید. اگر همه چیز درست است پنجرا را ببندید حال فایلی که ابتدا ایجاد کردید را با Notepad باز کنید. Connection String درون فایل ایجاد شده است.(البته این ارتباط برای OLE DB است که می توانید این قسمت را حذف کنید) اگر از User و Password استفاده میکنید، تیک Allow Saving Password را بزنید تا پسورد در فایل ذخیره شود. rtech19th September 2008, 12:27 PMانجام محاسبات بر روی یک فیلد از DataTable myDataset.Table["myTable"].Compute("Sum(myFiledname)","FilterCreatia"); rtech19th September 2008, 12:28 PMانجام محاسبات بر روی یک فیلد از DataTable myDataset.Table["myTable"].Compute("Sum(myFiledname)","FilterCreatia"); rtech19th September 2008, 12:29 PMاتصال به SqlServer با استفاده از IP Address using System; using System.Data.SqlClient; namespace ConnectIPAddressSqlServer { class Program { static void Main(string[] args) { string connectString = "Network Library=dbmssocn;Network Address=127.0.0.1;" + "Integrated security=SSPI;Initial Catalog=AdventureWorks"; using (SqlConnection connection = new SqlConnection(connectString)) { connection.Open( ); // Return some information about the server. Console.WriteLine( "ConnectionState = {0} DataSource = {1} ServerVersion = {2}", connection.State, connection.DataSource, connection.ServerVersion); } Console.WriteLine(" Press any key to continue."); Console.ReadKey( ); } } } SQL Server network libraries فایلهای dll هستند که عملیات شبکه مورد نیاز برای کلاینتها را انجام می دهند. پروتکلها شبکه موجود برای Sql Server • Shared Memory • TCP/IP استفاده از پروتکل TCP/IP برای ارتباط • Named Pipes SqlServer مکانیسم IPC را برای ارتباط بین کلاینت و سرور فراهم می کند. • VIA پروتکل Virtual Interface Adapter که توسط سخت افزارهای VIA مورد استفاده قرار می گیرد. از SqlSever2005 به بعد دیگراین پروتکل پشتیبانی نمی شود. • AppleTalk ADSP • Banyan VINES • Multiprotocol به صورت اتوماتیک از بین پروتکل های موجود یکی را انتخاب می کند که از لحاظ کارایی همانند استفاده از native network library می باشد.که از پروتکلهای TCP/IP Sockets, NWLink IPX/SPX, Named Pipes پشتیبانی می کند • NWLink IPX/SPX پروتکل شبکه های ناول برای اطلاعات بیشتر در مورد پیکربندی پروتکلهای شبکه به Microsoft SQL Server Books Online مراجعه کنید استفاده از سوکتهای TCP/IP برای SQL Server عملکرد و مقیاس پذیری برنامه را بهبود می بخشد(در زمانی که با حجم بالایی از داده سرو کار داریم).این مکانیسم از بعضی از مسائل امنیتی مربوط به named pipes اجتناب می ورزد. در صورت استفاده از هر پروتکلی , کلاینت و سرور با ید برای استفاده از TCP/IP پیکر بندی شوند. SQL Server Configuration Manager/SQL Server Network Configuration/enabling TCP/IP in the Protocols subnode. توجه کنید که Instanse پیش فرض SqlServer از پورت 1433 استفاده می کند.در صورتی که شما آنرا برای پورت دیگری پیکربندی کرده باشید Connection String را به صورت زیر تغییر دهید Network Address=(local),1450 rtech19th September 2008, 12:32 PMاتصال به بانکهای اطلاعاتی اوراکل در سی شارپ روشهای اتصال به بانکهای اوراکل : Oracle .NET data provider OLE DB .NET data provider ODBC .NET data provider در مثال زیر به تمام راههای بالا اشاره شده است. using System; using System.Data.OracleClient; using System.Data.OleDb; using System.Data.Odbc; namespace ConnectOracle { class Program Interprocess communication (IPC) { static void Main(string[] args) { // Connect using .NET data provider for Oracle string oracleConnectString = "Data Source=ORCL;User Id=hr;Password=password;"; using (OracleConnection connection = new OracleConnection(oracleConnectString)) { connection.Open( ); // Return some information about the server. Console.WriteLine("---Microsoft .NET Provider for Oracle---"); Console.WriteLine("ConnectionString = {0} ", oracleConnectString); Console.WriteLine("State = {0}", connection.State); Console.WriteLine("DataSource = {0}", connection.DataSource); Console.WriteLine("ServerVersion = {0}", connection.ServerVersion); } // Connect using .NET data provider for OLE DB. string oledbConnectString = "Provider=MSDAORA;Data Source=ORCL;User Id=hr;Password=password;"; using (OleDbConnection connection = new OleDbConnection(oledbConnectString)) { connection.Open( ); // Return some information about the server. Console.WriteLine(" ---Microsoft .NET Provider for OLE DB---"); Console.WriteLine("ConnectionString = {0} ", oledbConnectString); Console.WriteLine("State = {0}", connection.State); Console.WriteLine("DataSource = {0}", connection.DataSource); Console.WriteLine("ServerVersion = {0}", connection.ServerVersion); } // Connect using .NET data provider for ODBC string odbcConnectString = "Driver={Oracle in OraDb 10g_home1};" + "Server=ORCL;uid=hr;pwd=password;"; using (OdbcConnection connection = new OdbcConnection(odbcConnectString)) { connection.Open( ); // Return some information about the server. Console.WriteLine(" ---Microsoft .NET Provider for ODBC---"); Console.WriteLine("ConnectionString = {0} ", odbcConnectString); Console.WriteLine("State = {0}", connection.State); Console.WriteLine("DataSource = {0}", connection.DataSource); Console.WriteLine("ServerVersion = {0}", connection.ServerVersion); } Console.WriteLine(" Press any key to continue."); Console.ReadKey( ); } } } روش اول Oracle .NET data provider یا همان Native Oracle: Oracle .NET data provider با استفاده از OCI(Oracle Call Inteface) و از طریق ابزارهای ارتباطی برای کلاینت (Oracle client connectivity software) به بانکهای اطلاعاتی اوراکل دسترسی دارد.این پروایدر به اوراکل 7.3.4 (یا ورژنهای بالاتر) می تواند دسترسی داشته باشد ,همچنین به Oracle 8i Release 3 (8.1.7) client software (یا ورژنهای بالاتر) نیازدارد.تمام کلاسهای مورد نیاز در فضای نام System.Data.OracleClient قرار دارد مثالی از رشته اتصال که از Integrated Security استفاده کرده است Data Source=ORCL;Integrated Security=yes; و بدون استفاده از Integrated Security Data Source=ORCL;User Id=hr;Password=password; معمولاً روش Native بهتر از دو روش دیگر است .چون این این روش مخصوص این نوع بانک اطلاعاتی است و برای آن بهینه شده است(تمام لایه های غیر مرتبط با این نوع دیتا حذف شده است) روش دوم OLE DB: در این روش برای دسترسی به بانکهای اطلاعاتی اوراکل از Oracle OLE DB provider (MSDAORA) استفاده می کنیم. Provider=MSDAORA;Data Source=myOracleDb;User Id=hr;Password=password; معمولاً از این روش برای ایجاد یک پل ارتباطی با برنامه ای که از OLE DB استفاده می کند , بکار می رود. روش سوم OLE DB: و در پایان با استفاده از ODBC .NET data provider نیز می توان به بانکهای اوراکل متصل شد . به عنوان مثال رشته اتصال به بانک اطلاعاتی در Oracle 10g به صورت زیر است. "Driver={Oracle in OraDb 10g_home1};Server=ORCL;uid=hr;pwd=password;"; از این روش نیز برای ایجاد یک پل ارتباطی با برنامه ای که از ODBC استفاده می کند , بکار می رود. بنابراین در صورت امکان برای اتصال به این بانکها از روش Native استفاده کنید. نکته:اوراکل از یک فایل پیکر بندی(با نام TNSNAMES.ORA در محل بانک اطلاعاتی)برای تعیین نحوه ارتباط با آن استفاده می کند. مثالی از محتویات این فایل برای alias ORCL : ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) که این اتصال به طور پیش فرض از ارتباط TCP/IP با پورت 1521 صورت می گیرد. سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 3988]