
Mübarek Kadir Gecenizi tebrik ederim.
Hayırlara vesile olur inşallah.
Kısaca ne olduğunu açıklamak gerekirse uzağı yakın yapan, birden fazla database ile çalışmanızı sağlayan olağan üstü özellikli bir ürün.
Başlat -> Çalıştır -> cmd
osql -U username -P password -S VOLKAN -i "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Install\instdist.sql"
Entere bastiktan sonra şöyle bir hata alabiliriz ;
Not: Yukarda yazdığımız kodlar için ayrıntılı bilgi;
http://support.microsoft.com/default.aspx?scid=kb;en-us;906954
Örnek connection için bakınız.
Cannot execute the replication script in the 'master' database; the current session will be terminated. The script must be executed in the distribution database, and the master database cannot serve as the distribution database.
Bu hatanın nedeni User ‘in bu işleri yapmaya yetkisi olmaması.Userin üzerindeyken sağ tıklayıp propertiese giriyoruz.
Sol tarafta Server Roles den bütün alanları tıklıyoruz.
(işimizi sağlama alalım)
User mapping den master databaseini seçip yetkileri ayarlıyoruz.
Tekrar kodumuzu yazıp entere basınca işlem tamamlanıyoruz. Aşağıdaki iş olmuştur mesajını alıyoruz.
[SQL Native Client]Shared Memory Provider: No process is on the other end of the pipe.[SQL Native Client]Communication link failure
Şimdi Linked Server kurulduğuna göre sıra geldi uzaktaki serverimizi eklemeye.
Bunu yapmak için kullanabileceğimiz procedurler ;
sp_addlinkedserver @server= '192.168.3.4' , @srvproduct= 'SQL Server ' --sql server bağlantısı için
sp_addlinkedserver
'ServerAdiniistediginizgibiyazin',
'',
'MSDASQL',
NULL,
NULL,
'DRIVER={SQL Server};SERVER=VOLKAN;UID=volkan;PWD=123456;'
Bu bağlantı şekilleri hakkında detaylı bilgi ;
http://msdn.microsoft.com/en-us/library/ms190479.aspx
Kurduktan sonra bunu kontrol edelim gerçekten oldu mu diye.
sp_helpserver
komutu bize linked serverları listeler. Ardından Login olmamız gerekmekte. Bunun içinse aşağıdaki komutu yazarız;
sp_addlinkedsrvlogin 'ServerAdiniistediginizgibiyazin', 'true'
Eğer user ile login olacaksak.
sp_addlinkedsrvlogin 'ServerAdiniistediginizgibiyazin', 'false', 'volkan', 'volkan', '123456'
Eğer bunuda başarıyla yaptıysak şimdi sırada sql i yazmak var.
Select * From ServerAdiniistediginizgibiyazin.Database.dbo.Tabloadi
Yaptıklarımızı kısaca özetleyecek olursak
--server dahil edildi
1. sp_addlinkedserver @server= 'NOTEBOOK' , @srvproduct= 'SQL Server'
--istenirse ad deðiþtirme
1.1. --sp_setnetname @server = 'SERVER', @netname = SERVER2'
-- login olma
2. sp_addlinkedsrvlogin 'NOTEBOOK', 'true' --veya
sp_addlinkedsrvlogin 'NOTEBOOK', 'false', 'volkan', 'volkan', '123456'
--baðlý bulunduðum serverdaki kullanýcý adýmla
--sorgu yazma
4. Select * From ServerAdiniistediginizgibiyazin.Database.dbo.Tabloadi
-- drop etme
5. sp_dropserver @server = 'NOTEBOOK', @droplogins = null
--durum görme
6. sp_helpserver
Bunlar bu işi elle yapma yöntemleri diğer türlü nasıl yapılır ?
Microsoft SQL Server Management Studio yardımı ile şöyle yapabiliriz;
Connection Objesi yarattıktan sonra “Server Object” e tıklıyoruz açılan yerden Linked Servers e sağ tıklayıp yeni ekle diyoruz.
... some code here ...
System.Reflection.TargetInvocationException: Unable to get the window handle for the 'WebBrowser' control. Windowless ActiveX controls are not supported.
System.Reflection.TargetInvocationException:
Unable to get the window handle for the 'WebBrowser' control.
Windowless ActiveX controls are not supported. --->
System.InvalidOperationException:
Cross-thread operation not valid:
Control '' accessed from a thread other than the thread it was created on.
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.WebBrowserBase.DoVerb(Int32 verb)
at System.Windows.Forms.WebBrowserBase.TransitionFromRunningToInPlaceActive()
--- End of inner exception stack trace ---
at System.Windows.Forms.WebBrowserBase.TransitionFromRunningToInPlaceActive()
at System.Windows.Forms.WebBrowserBase.TransitionUpTo(AXState state)
at System.Windows.Forms.WebBrowser.get_AxIWebBrowser2()
at System.Windows.Forms.WebBrowser.PerformNavigate2(Object& URL, Object& flags, Object& targetFrameName, Object& postData, Object& headers)
at System.Windows.Forms.WebBrowser.PerformNavigateHelper(String urlString, Boolean newWindow, String targetFrameName, Byte[] postData, String headers)
at System.Windows.Forms.WebBrowser.set_Url(Uri value) at System.Windows.Forms.WebBrowser.Navigate(Uri url)
thread = new Thread(new ThreadStart(function));
thread.SetApartmentState(System.Threading.ApartmentState.STA);
DECLARE @Degisken as money
DECLARE @Count AS INT
SET @Count = 0
DECLARE test_cursor CURSOR
FOR
Select TOP 4 alanadi from tabloadi ORDER BY ID DESC
OPEN test_cursor
FETCH NEXT FROM test_cursor INTO @Degisken
WHILE (@@FETCH_STATUS <> -1)--bitti mi ?
BEGIN
IF (@Degisken is NULL OR @Degisken = 0)
begin
SET @Count = @Count +1--sayiyi artir
END
FETCH NEXT FROM test_cursor INTO @Degisken
END
CLOSE test_cursor
DEALLOCATE test_cursor
SELECT @Count --sonucu goruntule
Uri ourUri = new Uri(UrlAddress);
webBrowser.AllowNavigation = true;//bu çok önemli
webBrowser.Navigate(ourUri);
//webBrowser.ScriptErrorsSuppressed = true;
while (webBrowser.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
//Yukarda donguye girmek zorunda
//islem tamamlanana kadar webBroser nesnemize data gelmiyor.
if (ourUri.AbsoluteUri != webBrowser.Url.AbsoluteUri)
{
//yönlenmiş
}
else
{
//yönlenmemiş
}
webBrowser.ScriptErrorsSuppressed = true;
SELECT * INTO tablo_temp FROM OrjinalTablo WHERE
System.InvalidOperationException was unhandled
Message="Cross-thread operation not valid: Control 'cbxstatus' accessed from a thread other than the thread it was created on."
Source="System.Windows.Forms"
StackTrace:
at System.Windows.Forms.Control.get_Handle()
at System.Windows.Forms.Control.SendMessage(Int32 msg, Int32 wparam, Int32 lparam)
at System.Windows.Forms.ComboBox.get_SelectedIndex()
at CodeXXXXX.XXXXX.StartTracking() in D:\xx\xXXXXX\trunk\XXXXX.cs:line 912
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()