Server Error in ‘/’ Application.
Login failed for user ‘iceoas’.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Login failed for user ‘iceoas’.
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
[SqlException: Login failed for user 'iceoas'.] System.Data.SqlClient.ConnectionPool.CreateConnection() +402 System.Data.SqlClient.ConnectionPool.UserCreateRequest() +147 System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction) +386 System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction) +372 System.Data.SqlClient.SqlConnection.Open() +384 System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) +44 System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +304 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +77 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +36 Common.Sql.Select_DataSet(String strSql, String strKey) +77 admin.schedule.standings.Page_Load(Object sender, EventArgs e) +331 System.Web.UI.Control.OnLoad(EventArgs e) +67 System.Web.UI.Control.LoadRecursive() +35 System.Web.UI.Page.ProcessRequestMain() +750
Version Information:Â Microsoft .NET Framework Version:1.1.4322.2300; ASP.NET Version:1.1.4322.2300
It turns out they moved the schedule to a new site: iceoasisadulthockey.iceroster.com. In fact, they have outsourced their whole scheduling and roster management web site to Las Vegas-based IceRoster.com.
Would the new site eliminate the need for my tool? I held my breath. Sadly, it did not. IceRoster’s site still has most of the problems of the original:
- No way to show just your team’s schedule
- No iCal (or text or RSS) output
- Kinda ugly
They do make an attempt to highlight the next game, but it’s so subtle it’s almost useless.
So, off I went. I had to solve two problems:
- Parsing the new format
- Downloading the data
The first problem was mostly a case of rewriting my regular expression for parsing teams. I also special-cased my code so I could still view legacy data, and in case they ever went back to the old format.
The second problem (which I solved first) was actually downloading the data. This was interesting for a few reasons:
- The SSL certificate was signed by an unknown authority
- Emulating the login form submission requires all the data the web browser submits, not just the username and password
- You have to pass the session cookie back to the server to get the schedule page
It involved a bit of reading of the CURL documentation page on the PHP site and some trial and error, but it’s up and running.
Lastly, the new site includes scores for the games, not just results, so I show those, too.