Upvote:8
Part of the problem you're running into is that Ottawa is not particularly well-served by international flights, particularly from East Asia; many of the connections you find may be through US airports such as Newark or JFK, which will require a visa. It may be easiest to enter Canada in Vancouver, and then take a domestic flight from there; Vancouver is generally better-connected to major airports in East Asia, for obvious reasons.
Looking at FlightConnections between Bangkok and Vancouver, you appear to have several options:
Transit through China. In general, you can transit without visa through most major airports, though there are some arcane exceptions. See this StackExchange question for details.
Transit through Taiwan is possible, though be careful with overnight connections:
Transiting without a visa is possible for:
Passengers transiting through Taoyuan (TPE) with a confirmed onward ticket for a flight to a third country within 24 hours. They must stay in the international transit area of the airport and have documents required for the next destination.
...
Important:
Passengers arriving after midnight must be escorted by the carrier to the transit hotel. Transit hotel is only available for Eva Airways (BR) and China Airlines (CI) passengers. If passengers wish to stay in the transit lounge, permission from the National Immigration Agency must be obtained. Before the passengers' arrival, the receiving carrier must be advised of the passengers' names, connecting flight number and destination.
Transit through Japan is possible for all nationalities. See this question.
Transit through South Korea:
Transiting without a visa is possible for:
Passengers transiting through Seoul (ICN) with a confirmed onward ticket for a flight to a third country within 24 hours. They must stay in the international transit area of the airport and have documents required for the next destination.
Other options to get to Vancouver, such as the Philippines or India, may also be possible.
Finally, it might be worth looking into flying via Frankfurt, which has non-stop flights to both Bangkok and Ottawa. The flight time is longer since you're going "the long way around", but you'd only have to stop once, and you should be able to transit without visa in Frankfurt.