Unsupported File Path Error
Jon Blanchard
Posts: 8
I am using our network server to store reports on various activities, including SQL Compares. After setting up the command line options as
/pr:"C:\Program Files\Red Gate\QAActivity\SQLCompareReDoc7Local.scp" /s1:%DBSERVERNAME% /db1:%currentDatabaseName% /s2:%DBSERVERNAME% /db2:%currentDatabaseName%n2 /out:"C:\Program Files\Red Gate\QAActivity\SQLCompareUTSReport" /verbose
and executing the command line, I receive the following error:
Failed to open SQL Compare project SQLCompareReDoc7Local.scp
The given path's format is not supported.
What's wrong with the file path? The program also didn't like the network file path
\\Server01\DATA\QA\ReDocSuite7 Tests\SQLCompareReDoc7Local.scp
but I thought that the program was just being whiney.
Thanks in advance for your response.
/pr:"C:\Program Files\Red Gate\QAActivity\SQLCompareReDoc7Local.scp" /s1:%DBSERVERNAME% /db1:%currentDatabaseName% /s2:%DBSERVERNAME% /db2:%currentDatabaseName%n2 /out:"C:\Program Files\Red Gate\QAActivity\SQLCompareUTSReport" /verbose
and executing the command line, I receive the following error:
Failed to open SQL Compare project SQLCompareReDoc7Local.scp
The given path's format is not supported.
What's wrong with the file path? The program also didn't like the network file path
\\Server01\DATA\QA\ReDocSuite7 Tests\SQLCompareReDoc7Local.scp
but I thought that the program was just being whiney.
Thanks in advance for your response.
Jon Blanchard
The Rehab Documentation Company, LLC
Timestamp above is USA Central Time (GMT-6)
The Rehab Documentation Company, LLC
Timestamp above is USA Central Time (GMT-6)
This discussion has been closed.
Comments
I believe that this is a security restriction with all .NET programs that will deny access to network shares by default. I think you can bypass this by going to the .NET Framework Wizards in the Control Panel and setting full-trust on sqlcompare.exe in the assembly trusts wizard.
Can you please give that a try?
Unfortunately, that was not the answer. I set the trust level to Full for file RedGate.SQLCompare.UI.exe, rebooted the computer, and received the same error message.
Should I also place Full trust in file SQLCompare.exe or any DLL's that are involved?
A Digression and Suggestion: I placed full trust in all applications from Red Gate based on a Public Assembly key. It may be a slightly better public relations move if Red Gate installed a Publisher key instead, to promote security and software uniqueness, since the product does deal with sensitive information at some sites.
The Rehab Documentation Company, LLC
Timestamp above is USA Central Time (GMT-6)
I don't know. Have you tried it using a mapped drive? Are you running this as a scheduled task under a user who maybe doesn't have network access rights?
All of our assemblies are signed using the same key, so implementing a trust for the key will allow the trust for all Red Gate products. I'll pass on your suggestion about the key!
The program is called from AutomatedQA's Automated Build Studio (alias 'ABS') as a command line program. It is run in my login account, which is valid for the domain, and I am set up as an administrator for this workstation. ABS and SQL Compare run from my workstation. There is currently no mapping for the network drive mentioned earlier.
When ABS spawns or otherwise invokes SQL Compare, it does so with command line parameters. SQL Compare starts up, shows the error dialog, then runs idle in manual mode with the Comparison Settings dialog open, waiting for me to choose the two databases. I can then choose the two databases, click the Compare button and watch the program work its magic.
Perhaps there is one detail that is missing from the command line? Is there a component that I need to install or enable to get the command line to work?
Also, what is the XML equivalent to the /out: and /force command line options? Is the output generated by the /out: option strictly in .txt format, or determined by the file extension?
Thanks.
The Rehab Documentation Company, LLC
Timestamp above is USA Central Time (GMT-6)
I created the .xml file as follows:
<?xml version="1.0"?>
<commandline>
<server1>TGREGG01</server1>
<database1>ReDocDB1060</database1>
<server2>TGREGG01</server2>
<database2>ReDocDB1060n2</database2>
<out>C:\Program Files\Red Gate\QAActivity\SQLCompareUTSOutput.txt</out>
<report>C:\Program Files\Red Gate\QAActivity\SQLCompareUTSReport.xml</report>
<force/>
<verbose/>
</commandline>
Then I created a Windows shortcut with the following text:
"C:\Program Files\Red Gate\SQL Bundle\RedGate.SQLCompare.UI.exe" /argfile:"C:\Program Files\Red Gate\QAActivity\SQLCompareReDoc7Local.xml"
After double-clicking on the shortcut, there is an alert dialog with the following text:
Failed to open SQL Compare project SQLCompareReDoc7Local.xml
The given path's format is not supported.
The program won't open the .xml config file because of the path leading up to it. Subtracting the quotes from the value for /argfile does not help. The help file said to use quotes if the value contained embedded spaces. Should I specify a project file in addition to the .xml file?
This is frustrating, because the program works fine in interactive mode. The same issue exists with SQL Data Compare.
If you are curious, AutomatedQA's website is www.automatedqa.com.
All I can think of doing now is investigating this computer for something wrong.
The Rehab Documentation Company, LLC
Timestamp above is USA Central Time (GMT-6)
Well, that was an easy fix. I am also surprised that you didn't figure it out sooner than I did.
Command line arguments are run with SQLCompare.exe, not RedGate.SQLCompare.UI.exe; that was gained from the one line in the help file that I didn't read thoroughly. I did, however, set .NET Framework full trust to the first file mentioned, just to be safe.
My apologies to you and your crew for wasting your time with this issue. Next time, I will try to be more dramatic so as to be more entertaining; customers like me are what great coffee room conversations are made of.
Thanks again for a great product.
The Rehab Documentation Company, LLC
Timestamp above is USA Central Time (GMT-6)
I'm sorry I didn't catch that. SQL Compare's UI version doesn't support arguments. You'd need to use SQLCOMPARE.exe to use the command line.