Sachverhalt: A. Der 1960 geborene B._ meldete sich Anfang Juli 2004 bei der Invalidenversicherung an und beantragte eine Rente. Nach Abklärungen, u.a. zweimalige Begutachtung im Spital X._ und nach Durchführung des Vorbescheidverfahrens sprach ihm die IV-Stelle des Kantons Solothurn für die Zeit vom 1. September 2004 bis 31. Mai 2006 aufgrund eines Invaliditätsgrades von 100 % eine ganze Rente samt vier Kinderrenten zu. Einen Anspruch auf Eingliederungsmassnahmen beruflicher Art verneinte sie (Verfügung vom 19. März 2007). B. Die Beschwerde des B._ wies das Versicherungsgericht des Kantons Solothurn ab (Entscheid vom 1. Oktober 2008). C. B._ lässt Beschwerde in öffentlich-rechtlichen Angelegenheiten führen mit den Rechtsbegehren, der Entscheid vom 1. Oktober 2008 sei aufzuheben, die beantragten beruflichen Massnahmen zu gewähren und die ganze Rente nicht auf den 31. Mai 2006 zu befristen. Das kantonale Gericht und die IV-Stelle beantragen die Abweisung der Beschwerde. Das Bundesamt für Sozialversicherungen verzichtet auf eine Vernehmlassung. 