2012-06-12 102 views
0

創建客戶端應用程序(使用C++/c#)與SQL Server進行通信的最簡單方法是什麼? 由於Iam是一個新人,並且非常渴望知道這個數據庫服務器如何管理其連接,請求和響應。我用以下命令嘗試了TELNET,假設我可以打開連接並寫入它。與SQL Server的Telnet連接

TELNET <server> <port> 

但是該命令僅以黑屏結束。 請提供您的意見以及任何有用的鏈接。

玩HTTP連接很有趣,因爲有web瀏覽器檢查器(如螢火蟲)來幫助我:),但在這裏我認爲事情是很難&不同,(或者如果這樣的工具存在記錄TCP連接?)

+0

您不想直接與服務器通信 - 您將根據您的環境使用庫或腳本工具。請編輯重新編寫您的問題,以使您的目標和編程語言更清晰。 –

回答

2

TDS是SQL Server使用的協議,它與HTTP或SMTP不相似,因爲這些命令不是通過文本發送的,所以不適合通過TELNET使用。如果你想鑽研它

GET/HTTP/1.1 

有上TDS here (from Microsoft)here (from JTDS, a JDBC driver for Sybase and SQL Server)一些文檔和here (from FreeTDS):有沒有什麼簡單的等同。如果您想觀察原始數據包數據,只需使用Jirka Hanika推薦的某種排序客戶端,並使用Wireshark或其他數據包捕獲工具來觀察數據。最終,如果你想學習一些關於網絡協議的知識,那麼也許值得一試,但如果你想了解SQL Server和關係數據庫內部知識,那麼有比網絡傳輸層更好的啓動地點,這與數據庫的實際功能相關。

0

對於C#,look here。對於C++,look here

使用後請確保您使用的是freeing the database connection

+0

謝謝你的回答。但這不是我需要的。我需要原始格式的響應,建立連接所需的最長時間等。(跟蹤tcp連接的完整屬性)但是,在這裏,像SqlDataReader這樣的庫將格式化響應並以數據集格式提供結果。他們會隱藏用戶的每一件事。我想我必須查看putty/TELNET客戶端源代碼,以瞭解他們如何與這些服務器建立連接。 – Vivek