Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
|
|
SSH Tunnel for Database Connection (such as ADO, ODBC, etc.)Demonstrates how to create an SSH tunneling client in a background thread of your application. This makes it possible to SSH tunnel database connections without the need for separate software (such as PuTTY) to be running. <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% set sshTunnel = Server.CreateObject("Chilkat.SshTunnel") success = sshTunnel.UnlockComponent("30-day trial") If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(sshTunnel.LastErrorText) & "</pre>" End If ' The destination host/port is the database server. ' The DestHostname may be the domain name or ' IP address (in dotted decimal notation) of the database ' server. sshTunnel.DestPort = 1433 sshTunnel.DestHostname = "myDbServer.com" ' Provide information about the location of the SSH server, ' and the authentication to be used with it. This is the ' login information for the SSH server (not the database server). sshTunnel.SshHostname = "192.168.1.108" sshTunnel.SshPort = 22 sshTunnel.SshLogin = "mySshLogin" sshTunnel.SshPassword = "mySshPassword" ' Start accepting connections in a background thread. ' The SSH tunnels are autonomously run in a background ' thread. There is one background thread for accepting ' connections, and another for managing the tunnel pool. listenPort = 3316 success = sshTunnel.BeginAccepting(listenPort) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(sshTunnel.LastErrorText) & "</pre>" End If ' At this point you may connect to the database server through ' the SSH tunnel. Your database connection string would ' use "localhost" for the hostname and 3316 for the port. ' We're not going to show the database coding here, ' because it can vary depending on the API you're using ' (ADO, ODBC, OLE DB, etc. ) ' This is where your database code would go... ' When you're finished with the database connection, you may ' stop the background tunnel threads: ' Stop the background thread that accepts new connections: success = sshTunnel.StopAccepting() If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(sshTunnel.LastErrorText) & "</pre>" End If ' If any background tunnels are still in existence (and managed ' by a single SSH tunnel pool background thread), stop them... maxWaitMs = 1000 success = sshTunnel.StopAllTunnels(maxWaitMs) If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode(sshTunnel.LastErrorText) & "</pre>" End If %> </body> </html> |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.