نحوه اتصال به oracle در C# بدون tnsnames
سلام و خسته نباشید
من میخوام به دیتابیس اوراکلم که توی سرور لینوکس هست وصل بشم.
Connection String هایی که هست Client Side هستند که من مجبورم روی هر کلاینتی که میخوام برنامم اجرا بشه باید Oracle Client رو نصب کنم ، که این مشکل هست. بنابراین میخوام مستقیم به سرور وصل بشم به طوری که نیازی به نصب Oracle روی هر سیستم نباشه.
ممنون میشم راهنماییم کنید.
نقل قول: نحوه اتصال به oracle در C# بدون tnsnames
با سلام
ببخشید تاپیک مناسب و من پیدا نکردم
میخواستم به بانک اوراکلم که "در سرور " نصب شده اتصال بدم در php که با ارور Fatal error: Call to undefined function oci_connect() مواجه میشم البته فایل php.ini رو هم درست کردم
میخواستم ببینم باید اوراکل رو توی سیستم خودمم نصب کنم تا این مشکل حل بشه یا نه
خواهشا کمک کنید
نقل قول: نحوه اتصال به oracle در C# بدون tnsnames
نقل قول:
نوشته شده توسط
anahid.goudarzi
سلام و خسته نباشید
من میخوام به دیتابیس اوراکلم که توی سرور لینوکس هست وصل بشم.
Connection String هایی که هست Client Side هستند که من مجبورم روی هر کلاینتی که میخوام برنامم اجرا بشه باید Oracle Client رو نصب کنم ، که این مشکل هست. بنابراین میخوام مستقیم به سرور وصل بشم به طوری که نیازی به نصب Oracle روی هر سیستم نباشه.
ممنون میشم راهنماییم کنید.
با سلام
اگر برنامه تان را هم بر روی سرور می نویسید حتما باید از اوراکل کلاینت استفاده کنید اما اگر برنامه محلی هست می توانید از پرووایدرهای معمولی مانند ODBC استفاده کنید و در مواردی مانند برنامه نویسی PHp می توانید از Instant Client هم استفاده کنید .
نقل قول: نحوه اتصال به oracle در C# بدون tnsnames
نقل قول:
نوشته شده توسط
mosasad
با سلام
ببخشید تاپیک مناسب و من پیدا نکردم
میخواستم به بانک اوراکلم که "در سرور " نصب شده اتصال بدم در php که با ارور Fatal error: Call to undefined function oci_connect() مواجه میشم البته فایل php.ini رو هم درست کردم
میخواستم ببینم باید اوراکل رو توی سیستم خودمم نصب کنم تا این مشکل حل بشه یا نه
خواهشا کمک کنید
با سلام
Instant client را نصب کنید مشکل حل می شود
نقل قول: نحوه اتصال به oracle در C# بدون tnsnames
کتابخانه Oracle.ManagedDataAccess.dll رو هم می تونید استفاده کنید بدون نیاز به نصب اوراکل کلاینت یا هر پروایدر دیگه ای.
کانکشن استرینگ اش هم به صورت ذیل می باشد.
connection string="DATA SOURCE=192.168.1.1:1521/dbname;PASSWORD=123;USER ID=user;
نقل قول: نحوه اتصال به oracle در C# بدون tnsnames
نقل قول:
نوشته شده توسط
babila
کتابخانه Oracle.ManagedDataAccess.dll رو هم می تونید استفاده کنید بدون نیاز به نصب اوراکل کلاینت یا هر پروایدر دیگه ای.
کانکشن استرینگ اش هم به صورت ذیل می باشد.
connection string="DATA SOURCE=192.168.1.1:1521/dbname;PASSWORD=123;USER ID=user;
سلام. وقت بخیر. میشه در رابطه با این روش یکم بیشتر توضیج بدین ؟
همین که using Oracle.DataAccess.Client بالای پروژه اضافه بشه کافیه یا کار دیگه ای هم باید کرد؟
و اینکه من با این connection string نوشتم ولی خطا میده و وصل نمیشه.
نقل قول: نحوه اتصال به oracle در C# بدون tnsnames
توی سیستم اینترنت فعال کنید
توی ویژوال استودیو از منوی Tools>Nuget Package Manager>Nuget Package Console باز کنید
توی خط فرمان کنسول منیجر این عبارت وارد کنید. Install-Package Oracle.ManagedDataAccess
با این کار dll مربوط به Oracle.ManagedDataAccess توی refrence برنامه اضافه میشه. علاوه بر اون به فولدر به نام Package توی فولدر پروژه درست میشه.
حالا به پروژه دو تا فولدر با نام های x86 و x64 اضافه کن
روی فولدر x64 راست کلیک کن Add>Existing Item انتخاب کن
فولدر پروژه و فولدر پکیج یعنی مسیر روبه رو طی کن Project Foder Name\packages\Oracle.ManagedDataAccess.19.3.0\bin\ x64
نکته : حتما نوع فایل انتخابی روی All File بزارین
از مسیر بالا فایل Oracle.ManagedDataAccessIOP.dll انتخاب کنید تا به فولدر x64 اضافه بشه.
روی فایل اضافه شده کلیک کن . از قسمت Prppertyها گزینه Copy Output Directory را روی Copy Always ست کن
این کار را دقیقا برای فولدر x86 هم تکرار کن. فقط حواست باشه مسیر dll انتخابی میشه Project Foder Name\packages\Oracle.ManagedDataAccess.19.3.0\bin\ x86
خوب تا اینجای کار تنظیماتت انجام شد. حالا نوبت مبرسه به کانکشن استرینگ که اونم به صورت زیر ست کن.
private string GetconnectionString(string Username, string Password) {
return String.Format("Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = HostName)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = SERVICE_NAME)));" +
"User Id={0};Password={1};", Username, Password);
}
فقط حواست باشه قسمت های HOST و PORT و SERVICE_NAME نسبت به سرور بانک خودت تنظیم کن. البته پورت معمولا 1521 هستش.
با این کار دیگه احتیاج به اوراکل کلاینت نیست.
مشکلی بود در خدمتتم.
موفق باشید
نقل قول: نحوه اتصال به oracle در C# بدون tnsnames