It does seem that way to me. I tried using a different, commercial ssh server; however, after successfully logging in, both DS and DSWC quit working.
DS seems to expect a *nix-like environment, as the first command it issues is "sh". I tried creating an sh.bat containing a single command to run "cmd.exe"; however, after it executes cmd.exe it quits with "SshError" and disconnects.
DSWC seems to attempt to recognize what kind of environment it connected to and first issues "uname" (which fails on Windows), then "cmd ver" (which should work just fine). However, that is the last thing it does and hangs indefinitely.
This topic has been locked.
5 replies Latest Post - 2012-10-10T17:07:59Z by SystemAdmin
Pinned topic Is cygwin the only way to get DS or DSWC to run CLP jobs on Windows?
Answered question This question has been answered.
Unanswered question This question has not been answered yet.
Updated on 2012-10-10T17:07:59Z at 2012-10-10T17:07:59Z by SystemAdmin
Sriram_Europa 120000KBXK68 PostsACCEPTED ANSWER
Re: Is cygwin the only way to get DS or DSWC to run CLP jobs on Windows?2012-09-27T22:00:13Z in response to SystemAdminUnfortunately thats the case today. Given that Cygwin+ssh is a bit finicky about environment and authentication mechanisms, it is not the easiest thing to adopt.
We are currently looking to support the 'IBM SSH Server' instead which is included with the DB2/LUW v10.x distributions on windows as an alternative to cygwin.
Each SSH server on windows behaves differently (Cygwin launches bash while I see the IBM SSH server launching cmd directly). Some of these servers return proper %errorlevel% on exit of a shell script - others do not.
Which is the commercial server that you use here ? I wrote a sample test program (in java that works quite similar to DSWC) that I use to test out SSH servers & see how they behave with respect to just plain ssh connects, running commands such as 'ver' and 'cmd' or 'dir', copying files back-n-forth with the sftp sub-protocol. Getting return values after executing scripts and db2 commands etc. So - I can test this server out.
Re: Is cygwin the only way to get DS or DSWC to run CLP jobs on Windows?2012-10-01T15:45:04Z in response to SystemAdminThanks Sriram,
I was attempting to use this one: http://www.bitvise.com/winsshd.
It is kind of deceptive for the DSWC documentation to state the requirement as "ssh" while in fact it means "cygwin+ssh"...
I am finding that DB2 LUW really should be called DB2 LUw, since the Windows OS environment seems to get the short end of the stick as far as features, support and documentation are concerned. Especially the last one - I can understand platform restrictions and shortcomings dictating some differences in versions, but for the documentation to not spell those differences out clearly is pretty inexcusable in an enterprise-class product.
bluey01 110000ENQX41 PostsACCEPTED ANSWER
Re: Is cygwin the only way to get DS or DSWC to run CLP jobs on Windows?2012-10-04T03:44:27Z in response to SystemAdminIBM really needs to take note of some of this feedback regarding DataStudio and Windows. I fully agree with the sentiments that Windows is not really being supported in a good manner.
This need to use cygwin & ssh is clumsy and is not a workable solution on windows
OK, so I installed cygwin and CLP jobs still do not work...2012-10-10T17:07:14Z in response to SystemAdmin...but at least DSWC is now attempting to run them. I was able to back up a database through DS Full Client - once, then I broke something while trying to get DSWC to run, but I am should be able to make it work again.
DSWC logs this:
Name: DB Backup
BACKUP DATABASE SAMPLE ONLINE TO "F:\Backup" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 COMPRESS INCLUDE LOGS WITHOUT PROMPTING;
Start Time: 2012-10-10 11:22:40
End Time: 2012-10-10 11:22:53
Errors from executing:
MS-DOS style path detected: c:/db2cmdRunner.bat
Preferred POSIX equivalent is: /cygdrive/c/db2cmdRunner.bat
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
bash: c:/db2cmdRunner.bat: Permission denied
bash: c:/db2Runner.bat: Permission denied
bash: c:/846c72c7d7bee98db8fe87ad88b019a1.sql: Permission denied
bash: c:/db2cmdRunner.bat: No such file or directory
cat: c:/846c72c7d7bee98db8fe87ad88b019a1.out: No such file or directory
cat: c:/846c72c7d7bee98db8fe87ad88b019a1.level: No such file or directory
rm: cannot remove `c:/db2cmdRunner.bat': No such file or directory
rm: cannot remove `c:/db2Runner.bat': No such file or directory
rm: cannot remove `c:/846c72c7d7bee98db8fe87ad88b019a1.sql': No such file or directory
rm: cannot remove `c:/846c72c7d7bee98db8fe87ad88b019a1.out': No such file or directory
rm: cannot remove `c:/846c72c7d7bee98db8fe87ad88b019a1.level': No such file or directory
Result: The job execution failed. Execution Status code: 3
None of the files referenced are in the root of c:, but I am guessing it attempts to copy them there and then run them as batch files. This begs the question - why the root of c? Couldn't this be configurable? Anyway, it still did not work due to permission issues, but I am not sure what credentials is it using. The user that is used to authenticate to the database is part of the local Administrators group, and just to be sure I gave cyg_server full rights to c: (even that this is not a good security practice).
For reference, I am running CYGWIN_NT-5.2 MKEITIDB2T01 1.7.16(0.262/5/3) 2012-07-20 22:55 i686 Cygwin - the newest that was available.