Visual Studio VDS'te çalışan veri tabanı başka bilgisayarda çalışmıyor

retrodogukan

Hectopat
Katılım
13 Şubat 2020
Mesajlar
378
Yer
Menteşe
SQL:
con = new SqlConnection("Data Source=WINAME\\SQLEXPRESS;Initial Catalog=moderasyon;Integrated Security=True;Encrypt=True;TrustServerCertificate=True");

WINAME adı, Windows 10 VDS'in bilgisayar adı. Veritabanı bağlantısı tamam. Derleyip deneyince VDS'de çalışıyor ama bir bilgisayarda çalıştırmaya çalışınca tonla SQL hatası veriyor. VDS'te çalışan bu veritabanını nasıl sürekli çalışır halde tutabilirim? SQL Server Management Studio'daki veritabanına bağlı. Yani programı bir bilgisayardan açıp giriş yapmaya çalışan kişi olursa VDS'te açık olan SQL hizmetlerini aracı alsın istiyorum.


Kod:
Bu iletişim kutusu yerine JIT hata ayıklamayı çağırma
hakkında detaylı bilgi için bu iletinin sonuna bakın.

************** Özel Durum Metni **************
System.Data.SqlClient.SqlException (0x80131904): Sunucuyla bağlantı kurulurken ağ ile ilgili veya örneğe özel bir hata oluştu. Sunucu bulunamadı veya sunucuya erişilemiyor. Örnek adının doğru olduğunu ve SQL Server'ın uzak bağlantılara izin verdiğini doğrulayın. (provider: SQL Network Interfaces, error: 26 - Belirtilen Sunucuyu/Örneği Bulma Hatası)
   konum: System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)
   konum: System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   konum: System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
   konum: System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   konum: System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   konum: System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   konum: System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   konum: System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   konum: System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   konum: System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   konum: System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   konum: System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   konum: System.Data.SqlClient.SqlConnection.Open()
   konum: x_Moderasyon.Giriş.girisyap_Click(Object sender, EventArgs e)
   konum: System.Windows.Forms.Control.OnClick(EventArgs e)
   konum: System.Windows.Forms.Button.OnClick(EventArgs e)
   konum: System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   konum: System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   konum: System.Windows.Forms.Control.WndProc(Message& m)
   konum: System.Windows.Forms.ButtonBase.WndProc(Message& m)
   konum: System.Windows.Forms.Button.WndProc(Message& m)
   konum: System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   konum: System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   konum: System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20


************** Yüklü Derlemeler **************
mscorlib
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9241.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
x Moderasyon
    Bütünleştirilmiş Kod Sürümü: 1.0.0.0
    Win32 Sürümü: 1.0.0.0
    CodeBase: file:///C:/Users/doguk/AppData/Local/Apps/2.0/3N9P2VYH.E8X/10RECVW2.7MV/xm..tion_8e710a7b4a51b1c0_0001.0000_3e3baa74e365ede2/x%20Moderasyon.exe
----------------------------------------
System.Windows.Forms
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9251.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9251.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9241.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9214.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Data.resources
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Data.resources/v4.0_4.0.0.0_tr_b77a5c561934e089/System.Data.resources.dll
----------------------------------------
System.Transactions
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
mscorlib.resources
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_tr_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
    Bütünleştirilmiş Kod Sürümü: 4.0.0.0
    Win32 Sürümü: 4.8.9037.0 built by: NET481REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_tr_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------

************** JIT Hata Ayıklama **************
JIT hata ayıklamayı etkinleştirmek için, bu uygulamanın veya
bilgisayarın (machine.config) .config dosyasında
system.windows.forms bölümünde jitDebugging değeri ayarlanmış olmalıdır.
Ayrıca uygulama hata ayıklama etkin durumdayken derlenmiş
olmalıdır.

Örneğin:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

JIT hata ayıklama etkinken, işlenmemiş özel durumlar
bu iletişim kutusunda işlenmek yerine bilgisayarda kayıtlı
JIT hata ayıklayıcısına gönderilir.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
bu videodakini uyguladım ama bir şey değişmedi.
 
Son düzenleme:
WINAME yazan yere normalde IP adresini yazıyorsun değil mi? Bilgisayar adı ile değil ip adresi ile bağlantı kurulur.

Örnek bir connection string;
Kod:
Data Source=123.45.67.89;Initial Catalog=blabla_db;Persist Security Info=True;user id=kullanici_adi;password=123456;Integrated Security=True;Connection Timeout=60;MultipleActiveResultSets=True;

user id=kullanici_adi;password=123456; bu kısımları kendine göre düzenlersin.

Normalde SQL sorguları client tarafında olmaz. Server tarafında olur. Fakat sen winform (loglardan çıkardım) uygulama içerisinden sql isteği yapıyorsun. Klasik youtube eğitimleri işte. SQL komutları asla client tarafında olmamalı. Bu büyük bir güvenlik açığıdır.
Senin istediğin cevap; yukarıda gösterdiğim gibi connection string düzenlemekte.
Fakat asıl mevzu; bu sql komutlarını client tarafından çıkarmak. Bunun için API hazırlarsın ve client tarafından http request (Veya diğer yöntemler) atıp istekleri alırsın.

API olarak hazırladığında senin yazdığın connection string, eğer sql ile API projesi aynı server da ise doğru çalışmaya başlayacak.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…