Error in BIDS after importing rebex.proxy.socket

0 votes
asked Mar 2, 2012 by rdragstedt (460 points)
edited Mar 2, 2012

Hello,

I've been having some difficulty with this. In BIDS 2005, I'm inserting a VB script, and in it I import Rebex.Net. I followed the guidelines for being able to add Rebex reference libraries in the GAC and SQLServer2005/SDK/90/etc...

I add the two lines:

Import Rebex.Net
Dim client as sftp

When I do this, it tells me I need to add the reference Rebex.Net.ProxySocket. I then do this and it closes the script, then when I try to reopen it, I get the error:

Cannot show the editor for this task. The RPC Server is unavailable. (Exception from HRESULT: 0x800706BA) (EnvDTE).

I looked this error up, disabled my firewall, etc.

Any ideas why this is happening? I have project deadlines coming up and I'm getting frustrated.

Thanks!

3 Answers

+1 vote
answered Mar 2, 2012 by Jan Sotola (16,920 points)
edited Mar 2, 2012
 
Best answer

Hello,

That is strange. Using Rebex components from BIDS usually works without problem, I've personally checked it several times.

Please make sure you have configured the references right:

1) For proper function of the Rebex SFTP component the following assemblies should be referenced:

  • Rebex.Net.ProxySocket.dll
  • Rebex.Net.Sftp.dll
  • Rebex.Net.Ssh.dll
  • Rebex.Security.dll

Have you added all of them to all places according the instruction?

  • C:Program FilesMicrosoft SQL Server90SDKAssemblies
  • C:Program FilesMicrosoft SQL Server90DTSBinn
  • Global Assembly Cache

NOTE: on 64bit Windows use the "Program Files (x86)" folder even if the SQL Server is 64bit (since the BIDS is never 64bit).

2) Are you using the libraries from the .NET 2.0/3.0/3.5 package? There is also a .NET 4.0 package and libraries from that package cannot be used in SSIS.

If you have configured all as written above and the error is stil occuring, please try to make a separate new project with a single DTSX package, containing a script component using Rebex SFTP. Write us whether the script editor keeps throwing that error even on such simple package. If it does so, test that project on another computer with BIDS (or send it to us the to support@rebex.net).

0 votes
answered Mar 2, 2012 by rdragstedt (460 points)
edited Mar 2, 2012

Thanks Jan!

So I started a new project, recopied the references to the 3 locations, and removed the other ones for Rebex Total Pack. And, I added the references before typing the 2 lines posted above, and it didn't kick me out with the error! (oh, and I was using the 2.0 libraries originally anyways)

So this poses the question: are the Rebex.Net.Security.dll and Rebex.Net.ProxySocket.dll different for each product (sftp, ftp, etc.)? Also, does adding extraneous references other than those explicit 4 for an sftp script cause issues?

Thanks again for the help!

0 votes
answered Mar 2, 2012 by Jan Sotola (16,920 points)
edited Mar 2, 2012

The Rebex.Net.Security.dll and Rebex.Net.ProxySocket.dll contain common code for almost all Rebex components (the ProxySocket is used for all TCP/IP components, the Security is used only for secured components).

As you probably realize, if you are using several components in the same project (e.g. Rebex.Ftp together with Rebex.Sftp), you have to use the same version (build number*) of the core libraries (ProxySocket and Security). It follows that also the Rebex.Ftp and Rebex.Sftp libraries should have the same build number.

If all Rebex libraries you are referencig have the same build number, there should be no issues even when referencing a huge number of Rebex libraries.

*A build number is the third element in the assemmbly version (e.g for version "3.0.4086.0" the build number is 4086)

NOTE: there is quite big rearrangement planned in the next release. Among other changes, the Rebex.Net.Security.dll and Rebex.Net.ProxySocket.dll will be replaced with more suitable names. Don't be afraid, it is only reorganization of assemblies, it will bring no braking changes in namespace or class names.

...