Forum
Merhaba,
Visual Studio.Net C# Windows Application uygulaması
altında bir otomasyon programı oluşturdum.Veri Tabanı olarakta Microsoft
MSSQL Server 2008 kullandım. Oluşturduğum bu programın setup'unu
tasarladım ve Windows Server 2008 R2 Standart Edition işletim sistemi
yüklü olan bir server'e yükledim. Server üzerinde Visual Studio.Net'i ve
Microsoft MSSQL Server 2008'i kurdum. Veri tabanını server üzerindeki
MSSQL Server 2008 Management Studio içine import ettim ve yanı sıra
oluşturmuş olduğum projeyide server üzerinde Visual Studio.Net 2010
içine aktardım. Yapmak istediğim tam olarak server üzerine kurmuş
olduğum bu programı serveri localden gören diğer bilgisayarlar
aracılığıyla server üzerinden çalıştırmak.
Bahsetmiş olduğum bu
işlemlerin ardından programı localdeki bilgisayarlar aracılığıyla
çalıştırmak istediğimde anlam veremediğim bir hata alıyorum. Tüm
araştırmalarıma rağmen bir çözüm yolu bulamadım. Umarım yardımlarınız
sayesinde bu sorunun üstesinden geliriz.
Hata çıktısını ek olarak ekledim.
Son
olarak şunu da belirtmek isterim. MSSQL Server 2008 kullanmadan bir
proje oluşturmayı denedim ve bu proje istediğim şekilde server üzerinde
localden çalıştı.
Hocam sorunu tam olarak anlayamadim ve koydugun resimde "Abi bi hata oldu, microsoft'a yolliyim mi?" haricinde sorunun ne olduguyla ilgili hic bir sey yazmiyor.
Demek istedigin ben bir program yazdim ve veritabani falan her seyi local'de(server) calisiyor. Programi sunucuda uzerinde calistirdigimda her sey super, agdaki bir client'ta calistirmaya gelince uyuzluk yapiyor. Dogru mu anlamisim?
Evet. Server üzerinde bir sıkıntı yok. Fakat localden çalıştıramıyorum. Farklı programları denedim onlarda bir sıkıntı yok sadece oluşturduğum bu program çalışmıyor. Ben sql ile alakalı diye düşünüyorum çünkü sql olmadan başka bir program oluşturup denedim o çalıştı. İzinleri falanda kontrol ettim.Uzaktan erişim ayarları vs bildiğim kadarıyla ayarladım fakat sonuç aynı. Çalışmıyor.
Konuyla ilgili bilgisi olan arkadaşlar muhtemel çözüm yolları neler olabilir acaba? Yardımcı olabilir misiniz?
bu tip birşeymi sizin istediğiniz
Bilgilendirme için teşekkür ederim. Gönderdiğiniz içeriği kontrol ettim kapsamlı bir çalışma. Bu bahsetmiş olduğum proje için belki bir çözüm olabilir fakat konu hakkında bilgi sahibi değilim ve benim sorunumun daha basit yollarla çözülebileceğini düşünüyorum.
Açık ve net olarak sorunu tekrar tanımlamak istiyorum.
Visual Studio.Net C# ve veri tabanı olarakta MSSQL Server 2008 Management Studio kullanarak oluşturmuş olduğum bir otomasyon süreç takip programını setup oluşturarak, üzerinde Windows Server 2008 R2 Standart Edition yüklü olan bir server'e kurdum. Kurulum işleminin haricinde server'e Visual Studio.Net 2010'u ve MSSQL Server 2008'i de yükledim. Oluşturmuş olduğum proje dosyasını .Net içine ve aynı şekilde veritabanınıda SQL Server içine import edip aktardım. Oluşturmuş olduğum proje, kurulum yapmış olduğum setup dahilinde ve ayrıca visual studio.Net içinde açılıp çalışmakta. Fakat server'i localden gören başka bir bilgisayar aracılığıyla server'e bağlanıp çalıştırmak istediğimde sayfanın en üstündeki resimde görünen hatayı veriyor.
Veri tabanı Sql kullanmadan bir proje oluşturdum yükledim onda bir sıkıntı yok ve çalışıyor. Sql işin içine girdiğinde çalışmıyor.
Aynı projenin Visual Basic ile kodlanmış ve veri tabanı olarakta access kullanılarak oluşturulmuş bir kopyası var onda da bir problem yok ve çalışıyor. Dediğim gibi SQL işin içine girdiğinde hata alıyorum ve çalışmıyor???
Hocam local veritabanlarinda calisip remote'larda hata veriyorsa bunun iki aciklamasi olabilir ya path yanlis yazilmistir yada arada baglantiyi engelleyen bir sey vardir.
Programi calistirdigimda hata aliyorum demissin, bundan sunu cikarabiliriz; sql stringini, yazdigin uygulamadaki mainform'un Formload(C#'ta ne diyorsaniz artik) olayina yazmissan ve ustte yazdigim gibi baglanmasini engelleyecek bir durum varsa form uzerindeki bazi yerleri fill(dropta olabilir) ederken programin baslar baslamaz cakilmasi normaldir.
Programi bu sekilde yazdiysan sql stringini gecici olarak ordan silip, deneme amacli bir butonun OnClick olayina yazip programin acilip acilip acilmadigini kontrol et, uygulama aciliyorsa sorunun yazdigim sey oldugu kesinlesmis olur.(Acilir acilmaz veri cekiyorsa muhtemelen kod bloklarinin pek cok yerinde sql sorgulari da vardir. Tek tek devre disi birakacan, yapacak bi sey yok)
Sql server'a ulasilip ulasilmadigini kontrol etmek icin telnet'le baglanmayi deneyebilirsin. Herhangi bir client uzerinden telnet sunucu:port (portsuz olmaz) ile cevap aliyorsan sorun koddadir.
hocam, söylediklerinizi dikkate aldım. hatanın sql serverden kaynaklandığını farkettim. sql ile alakalı olmayan farklı bir formu başlangıç sayfası olarak atadım çalıştı.
sanırım yaptığım c# uygulaması için setup projesi oluştururken sql server veri tabanı dosyalarınıda setup projesi içinde tanımlamam gerekiyor. ben servere sql server kurup db dosyalarını sql server içine import ettikten sonra proje çalışır diye düşünmüştüm.ve evet server üzerinde çalışıyor da fakat o şekilde yaptığımda localdeki pclerden programı server üzerinde çalıştırmaya kalktığımda hata veriyor.
bu bağlamda ikinci bir sorum olacak. bayağı bir araştırdım. yapmam gereken şeyin setup projesi içinde sql server kurulumu olduğunu anladım. farklı kaynaklardan bununla ilgili birçok açıklama buldum fakat tam olarak benim yapmak istediğimi açıklayan bir kaynak bulamadım. c# projesi içinde sql express kurulumunu anlatmışlar fakat sqlserver2008 kurulumu yok. expressteki gibi denemeye çalıştım olmadı. uygulama adımları farklı sanırım.
bu konuda yardımcı olabilir misiniz? visual studio.net 2010 c# 'ta oluşturduğum ve veri tabanı olarakta mssql server 2008 management studio kullandığım proje için hem veri tabanı hem c#' kapsayan setup projesi nasıl oluşturabilirim. c# kısmını hallediyorum fakat sql'i içine nasıl entegre edeceğimi bilmiyorum?
Hocam sharp'ta nasil yapiyorsunuz bilmiyorum ama geleneksel kurulum tipini yazayim. Birde setup kismi kafami karistirdi, server adresi, database ismi, giris bilgileri vs. exe dosyasinda tanimlanmissa bunun setupla bir ilgisi olmamasi lazim.
Yani soyle ki; program calistiginda baglanmasi gereken database'e ait bilgiler ya programin icinde yazili olur(Sabit server kullanilacaksa) yada ilk kurulumda(setup uzerinde) server adresi, dabase adi, kullanici bilgilerini alan bir form olusturursunuz, kullanici bu formu doldurduktan sonra aldigi bilgileri bir ayar dosyasina kaydeder(misal .ini dosyasi) program calistiginda sql bilgilerini bu ayar dosyasindan okuyup server'a baglanir(buda farkli server'larin kullanilacagi durumlarda kullanilir)
Yapmaya calistigin uygulamada sabit server kullanilacagini anliyorum. Yani sql bilgileri exe dosyasinda tanimlanmis olacak, boyle bir durumda setupla sql'in bir ilisigi olmaz, bunlar bir biriyle ilgisiz seyler. Client uzerinde sql'e baglanip baglanmadigini test etmemissin. Once bunu bi dene. Bir onceki postumda yazdigim yollari dene once bi telnet'le baglanmaya calis, server cevap veriyor mu diye. Sunucudan cevap donuyorsa, sql stringini kontrol et sorun ondadir. Hatta sunu yap, kullandigin ide'yi normal bir client'a kurup, basit bir form olustur, uzerine tek bir buton ekle ve butonun icine if kontrolu yaptir. Server'a baglaniyorsa msgbox'tan baglaniyor desin. Alttaki linkte ornek bir test kodu var.
http://answers.yahoo.com/question/index?qid=20071003040817AAjFajc
Hocam yardımlarınızla programı çalıştırma kısmını çözdüm. Şimdi farklı bir hata alıyorum. Kısaca tabir etmem gerekirse;
Yukarıdaki linkte de gözüktüğü gibi giriş formu açıldığında parolayı yazıp yönetici girişine tıklandığında resmin hemen altındaki hata penceresi çıkıyor. Tabi localdeki pclerle server üzerinden çalıştırmayı denediğimde alıyorum bu hatayı. Direk server üzerinden çalıştırdığımda bir sıkıntı yok, hatasız bir şekilde çalışıyor.
Resimdeki hata ekranının details kısmı aşağıdaki açıklamalardan ibaret..
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
*********** Exception Text ********
System.Data.SqlClient.SqlException (0x80131904): Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at ear_surec_takip.Form1.button2_Click(Object sender, EventArgs e) in C:\Users\Administrator\Documents\Visual Studio 2010\Projects\ear_surec_takip\ear_surec_takip\Form1.cs:line 56
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
ClientConnectionId:ba5c4fc1-4a4f-4a3f-9aac-41bffc4f9054
******** Loaded Assemblies ********
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18034 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
ear_surec_takip
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file://EAR/Debug/ear_surec_takip.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18036 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18021 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18034 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18034 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.18034 built by: FX45RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
******** JIT Debugging ***********
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------