?
Solved

Connecting to a database server through a proxy.

Posted on 2009-07-01
6
Medium Priority
?
455 Views
Last Modified: 2013-11-13
I normally connect to a SQL server from a C# or VB app using a connection string such as:
Data Source=<ServerIP,Port>;TRUSTED_CONNECTION=no;Persist Security Info=False;Initial Catalog=DBName;User ID=john;password=1234

This does not work when there is a proxy at the client side that blocks access through to the Internet.

All solutions I have found suggest that the client side IT staff open the proxy firewall for the required ports. In practice, people are often reluctant to open additional ports on the firewall. It is possible to go through the firewall using an HTTP tunnel, however I cannot get this to work to open a SQL connection. There are other methods available, for example Proxifier ( www.proxifier.com ) does this. Does anyone know how to do this in code, as I would prefer to avoid clients having to install an additional application on their machines.

Thanks,
Rob
0
Comment
Question by:RobboRed
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 57

Expert Comment

by:giltjr
ID: 24753398
Unfortunately the bad part of using a proxy is not all IP based applications support using proxy.

proxifier works by "hooking" into the IP stack and intercepting the IP packets and transparently sending them to the proxy server.  Something you really can't do in code.

What I would suggest is that instead of the clients talking directly to the database server, that you write a HTTP front end to your application and have them talk to a web server and have the web server talk to the database.
0
 

Author Comment

by:RobboRed
ID: 24755100
Thanks for your response. A web interface is a possibility, but it is difficult to get the functionality of a Windows application so I'm still hoping there is an alternative solution.
0
 
LVL 57

Expert Comment

by:giltjr
ID: 24756237
Well not really.  If you go back and read by statement, I never said you had to use a web interface.  I said you can use HTTP talking to a web server.

You still have a custom C++ (or whatever language you wish to write in) and it uses HTTP to communicate the requests back to a web server.  In fact it does not even need to be a web server, it can be a custom written server application that processes HTTP, its just a web server based application gets you out of the business of handling some of the more mundane processes of being a HTTP server.

0
Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

 

Author Comment

by:RobboRed
ID: 24756846
I don't really understand where HTTP comes in. Does a connect command to a database use HTTP?
0
 
LVL 57

Accepted Solution

by:
giltjr earned 1500 total points
ID: 24757272
No, you would  use HTTP to communicate the clients request and response to and from the server application.  The server application would then do the query against the database and then return the results to the client.

In one sense it would look like a web based application, the difference is instead of a web browser the client would be your custom program.

This way you don't have to have to have the customer install special software in order to get through their proxy server or for them to install/setup a socks server.

Otherwise they have to configure their firewall to allow direct access to your data base server without going through their proxy.
0
 

Author Comment

by:RobboRed
ID: 24761675
Yes, that would work, thanks.
0

Featured Post

Enroll in August's Course of the Month

August's CompTIA IT Fundamentals course includes 19 hours of basic computer principle modules and prepares you for the certification exam. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Transparency shows that a company is the kind of business that it wants people to think it is.
Quality of Service (QoS) options are nearly endless when it comes to networks today. This article is merely one example of how it can be handled in a hub-n-spoke design using a 3-tier configuration.
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
Suggested Courses
Course of the Month11 days, 4 hours left to enroll

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question