SSIS transfer files by ftp with limited transfer speed - c#

I need to transfer via ftp sql server backup with ssis to a limited speed, is this possible with ssis ?
I can´t find anything with google search.
I have a remote WAN location with limited network bandwidth and would transfer without affecting too much the bandwidth.
I need it without Third party applications.
I have been able to see that with the component script in c# you can enlarge the functionality I think that over there the thing walks.
It would appreciate the help of the community
Thanks

Due to the simplicity of many SSIS controls, I doubt there's a way to throttle it built-in.
An alternative may be to throttle the network on the SSIS process, however judging by this question, there may not be a way built-in to Windows to achieve this.
Others have asked this question as well, but as you may have found, it required third party applications too.

Related

Is a bridge the only way to work through EnterpriseOne Data Access Drivers from .NET?

I am working on a project which will eventually require me to work with EnterpriseOne Data Access Drivers. Straight ODBC drivers are not an option. My client wishes to leverage the monitoring capabilities of EnterpriseOne's Data Access Driver, ostensibly to spot heavy hitting queries and make the necessary optimisations.
So far, the only viable option has been an ODBC-JDBC bridge, of which there are several vendor-supplied solutions. However, I'm uneasy with the idea of employing one and would prefer to avoid a .NET -> Java bridging solution if at all possible. It's another moving part on an integration project that is already "hefty".
I've read that BizTalk has adapters that may be viable, but again, another moving part. Am I missing a trick? Is there a way that I can hit the ERP through the EnterpriseOne Data Access Drivers without having to funnel requests over a bridge? My ideal solution would be some kind of client access driver, but we have to retain the monitoring capabilities that the E1 Data Access Drivers provide.
Answers gratefully appreciated, even if it's "you're definitely stuck with a bridge".

how to display speed of internet connection in web application?

I have a asp.net web application that uses C#. It logs in on a remote machine and download files from the server. I wish to display bandwidth available during the connection or the speed of connection.
What could be the best possible way if I m not allowed to use any external library or APIs? How can I implemet it using Javascript?
Thanks in advance. :)
Have a look at the following page:
Determining available bandwidth
It suggests there isnt really an easy way of doing it.
This one has some ideas of how to do it though:
Detecting network connection speed and bandwidth usage in C#
Hope they help.
This article does a good job of explaining how Google Analytics calculates speed.
As suggested by the article one of the easiest to implement but least accurate ways could be to implement / build a solution that matches the users IP address against the ISP that IP address belongs to, then "assume" the connection speed. I personally feel this would be way too inaccurate but it might be enough for your needs, especially if you are working on an application running over a closed WAN.

Is it feasible to connect to a remote server and download a file using SFTP without using custom components?

I know I can accomplish it with custom components (I'm doing it right now with a trial download) but, in the interests of corporate austerity preferences, is it feasible to connect to a remote server and download a file using SFTP without using 3rd party components?
Depends on how much time you are willing to invest in it. The thing is that it isn't easy.
To write a good, custom, fully featured SFTP component, I estimate somewhere between 4-6 weeks.
If you need only a smaller subset of the commands at first, then maybe it is feasible to create it yourself and extend it later, when needed. But as I said, depends on how much time you have.
On the other hand, using a 3rd party, open source/free component has the downside that you may run into problems with it at some point down the road and then rely on community support or yourself to track it down and fix it. If it is a very good, mature and proven component (not gonna give out names) then you could safely add it, with some feature testing on your side in advance.
Finally, you have 3rd party commercial components (not gonna give names here either). If it's accessible (price wise) and they also offer you support, I don't see why not take it. Best focus on your project than wasting time on something that's already done, in one form or another.
Yes, is feasible (+1 first comment), I don't think is worthwhile at all. FYI we did implement a windows service that is now downloading/uploading files through SFTP, every day, several times in the day, running since two years now. From my experience, I can highly recommend you to use the library SharpSSH. It won't take long for you to adapt it to your needs.

Distributed Data Structure across multiple machines with multicast

I am looking into the possibility of Distributing a data structure across multiple machines. I would like it to run in a process on each machine, and using (Multicast?) replicate a copy of the full data structure on all of the machines.
Does anyone have any experience in this that could point me in the right direction?
Distributed locking is hard -- and you might well need to lock, unless you're reading only. I suggest you take a look at a distributed caching framework like Microsoft's Velocity (which may be renamed as part of Azure now), or the free, open source and very good memcached.
There are other, pay-for options too -- notably GemFire and Coherence.
I'd give memcache a go, it works pretty well.
You can write your data into a central database. Then each instance can access it. If you want to modify the data from an instance you shoul implement a mechanism of locking the data in the database. Is this of any help?
Publish the structure through ØMQ using PUB/SUB sockets and then you can switch between TCP or IP multicast depending on your requirements and network quality.
If your data structure is sufficiently organised you should also be able to send updates to the structure without much issue.
You can also look into Hazelcast which is a Java based solution.
Here is a direct link (1) which talks about some of the internals.
(1) http://www.hazelcast.com/documentation.jsp#Internals
And there is already a suggestion to use (repcached) memcached which should be easy to use as well.
To answer your question direction, you should probably learn about state machine replication and then look for implementations of either virtual synchrony or Paxos for your platform, to use as a building block.
Pragmatically, I would advise considering a coordination service such as ZooKeeper, that would save you a lot of trouble.

File transfer between 2 remote systems using internal modem

My requirement is to write an application to send a file from a remote machine to another machine using internal modem. Both system are connected thru VPN or a internet.
Basically we have two systems both having internal dial up modems. The two systems are connected through either VPN or Internet.
One system should send a file (XML) to another.
I was given the freedom to do it in either C++ or C#. Or is there any other language we can do this easily?
How can I go about this task? Do we need an client/server type application or do we need an app only at the receiving end?
Is there any built in technology available for this type of file transfers using modems?
Since I don't have the programming point of view, my question may not be clear! I tried to put max information on my requirements, but if I am not clear, please ask me.
If you are connected via a VPN, then there are many existing programs available to transfer files between each other. The most well known is FTP. There are many freely available FTP or SFTP packages.
The fact that you are using a modem does not matter. Only that they are in the same network or visible on the internet.
It's been a while, so my memory is fuzzy:
There are modem libraries out there. Find one and use it. No need to reinvent the low level software. I seem to remember using a product from Dialogic (At least I think that was the company). It worked well. I did a quick search and there are 50 companies with that name, but I did see some that mention C, C++ and C# librariers. If you do a little research you'll find what you need.
You will need to learn how to initiate communications between the modems. Almost all modems use the Hayes Modem AT Command Set.
Modems are slow: So pick a compression algorithm before sending data. zlib is an industry favorite.
Your modem library of choice should provide several mechanisms for doing the pure data transfer that you are asking about. Choose the one that fits your data best.

Categories

Resources