Wednesday, June 28, 2017
Monday, December 30, 2013
- Signed up for a key on Bing Maps API. Create a basic key and copy it somewhere. I will demonstrate it in the SAS code as [BINGKEY] since I cannot share mine publicly: https://www.bingmapsportal.com/
- Use the following code: %let z1=47.64054;
- Parse the xml that is produced as needed. You can also output it as JSON if you change the word xml in the URL to json.
filename x url "http://dev.virtualearth.net/REST/v1/Locations/&z1.,&z2.?o=xml&BINGKEY";
filename z "c:\temp\BingMap.xml";
infile x ;
file z ;
Monday, November 18, 2013
WPF works fine with EG except for some graphics issues found when the form is displayed in EG. Not a major issue, a minor one.
The main thing is that it works, runs dynamically using web services on the backend, uses MEF (very cool Framework), and saves us a lot of effort.
Here are some of Chris' suggestions.
How to debug
Adding Nodes Programmatically
Monday, October 28, 2013
"add-in is an invalid file type"
Ok. Great. How do I solve it?
For my project, it turned into a missing dll. Simple? Yes, but it took hours to track down. Hopefully this post helps out the next person.
Chris H. suggested the following means of finding the cause of an error:
Thursday, March 14, 2013
The message could not be processed. This is most likely because the action 'http://tempuri.org/ISas9Users/GetSasUsers' is incorrect or because the message contains an invalid or expired security context token or because there is a mismatch between bindings. The security context token would be invalid if the service aborted the channel due to inactivity. To prevent the service from aborting idle sessions prematurely increase the Receive timeout on the service endpoint's binding.
WCF Error: The caller was not authenticated by the service.
Make sure you use basicHttpBinding vs wsHttpBinding in your web.config if using WCF (which I am).
Also, you may need to check your XML and make sure you have the encoding defined in the XML header:
Tuesday, February 26, 2013
Ok, let's start with uninstall because it is this morning's pain point.
When creating a quiet uninstall, here is the command I was using:
"C:\Program Files\SAS 9.3.0 (SAS BI Solutions)\SASDeploymentManager\9.3\sasdm.exe" -uninstall -record -responsefile "c:\temp\uninstall2.txt"
I have highlighted in yellow my mistake. By including the -uninstall, the resulting responsefile was missing a critical component:
Why SAS does not ignore it, I am unsure of. How do you know it fails? Well, you don't easily. It seems to run, then just goes back to a command prompt. The sas.mif file will show a failure if you go and look at it:
Watch this issue on the install as well. Per the SAS documentation:
If you use any other command line options while using record, those options are not included in the response file. To properly use the response file, you must repeat those same command line options with the playback.
Huh? Why would you leave out critical features on a quiet install/uninstall? The next joy here is the little meadow muffins SAS leaves everywhere. You still have a Program Files entry, registry remnants, Start Menu leftover, etc. To be honest, the process is getting WAY, WAY easier and the above issues are mostly documented. However, here are some suggestions for the future:
- Allow a command line option that will remove EVERYTHING. Don't make me code against the registry and muck with the Start Menu. As it stands, i will have to have a script do this which should be unnecessary.
- Do not accept extraneous commands on the record part of the responsefile. Flag them or ignore them
Do not care about the order of the command options.(see below)
- Offer a utility that can help create the responsefile rather than doing it all command line. If one is out there, i am unaware of it.
- Retrofit the hotfix issues into 9.3M1. Some commands like silenthotfix are only available in 9.3M2 and there is no reason they should not be available for 9.3M1 that I can think of.
Proper Steps to Do Install (make sure you have the correct order)
Create a response file:
"C:\Program Files\SAS 9.3.0 (SAS BI Solutions)\SASDeploymentManager\9.3\sasdm.exe" -record -responsefile "c:\temp\install.txt"
c:\Packages\SAS93Depot\setup.exe -wait -quiet -responsefile "C:\temp\install.txt" -loglevel 2
Proper Steps to Do Uninstall
Create a response file:
"C:\Program Files\SAS 9.3.0 (SAS BI Solutions)\SASDeploymentManager\9.3\sasdm.exe" -record -responsefile "c:\temp\uninstall.txt"
Execute the response file:
"C:\Program Files\SAS 9.3.0 (SAS BI Solutions)\SASDeploymentManager\9.3\sasdm.exe" -wait -quiet -responsefile "C:\temp\uninstall.txt"
[UPDATE: 02/26/2013 7:06PM MST]
- Order of parms does not seem to matter. I am crashing on the SAS install due to the threading within my own application. Where the bug lies? I do not know but it is not pertinent to this topic.
- I had to go and back out some values from the registry. I must have deleted over 50 keys. I am unsure why so many keys are needed. This is something that I think SAS could improve upon.
Sunday, November 11, 2012
Got started coding, client provided a nice sample, all went well. Around 8-10 hours after starting, I was happily reading SAS transport files and writing them to a tab-delimited file.
However, things weren't happy on Big Rock Candy Mountain.Seems the numbers were off. A little bit of reading in the SAS XPORT Documentation indicated the problem:
"All floating-point numbers in the file are stored using the IBM mainframe representation. If
your application is to read from or write to transport files, it will be necessary to
convert native floating-point numbers to or from the transport representation."
Not a problem. Let's go track down a C# library that handles IBM 370 floats and does the conversion. One small problem...I couldn't find one. What I did find was that this was a nasty little problem. I like to dabble in CompSci stuff up until the point of pain and we were at a severe pain threshhold. Anyone wishing to read what is involved, check the SAS link above.
After playing with lots of things for several days, I settled on using John Hou's great article on CodeProject:
Transform Between IEEE, IBM, or VAX floating point
Fortunately, I had a license for Tangible Software C++ to C# convertor. That did a lot of lift (80-90%) and left me to do final cleanup. Once I got that all down, next up was to get the endianness correct on the parms passing in and then suddenly I saw a correct value passed back.
Long weekend dealing with it but glad it is over.
The final C# code that creates the conversion is available on John's aoriginal article as an alternative and I will post it on Savian as well. I learned more about SEF, floats, 4/8 byte variances, and everythig else than I ever wanted to know.
However, tonight I sent my client a translated XPT file and it appears to be correct. And I now have a .NET dll for handling the issue. That made all of the difference in the world...
In Windows 10, when I was trying to generate an EOF for a Java program, the CTRL+Z did not work. After doing some research (and help from f...
I have been using DotNetNuke (DNN) A LOT recently. For building a web framework, it absolutely rocks and is very easy to use. It is also ver...
Well, I recently was asked if I could support XPT files, you know, the SAS transport format. Well, SAS transport formats are documented and ...
Ok, so I am deep in the depths of the SAS Deployment Manager and am learning things the hard way (and spending time curled into a fetal posi...