Get breaking news alerts and special reports. The news and stories that matter, delivered weekday mornings.

Congress sent President Barack Obama a compromise bill Wednesday aimed at curbing abuse of heroin and other drugs, a nationwide epidemic that kills more than 100 Americans every day.

The overwhelming 92-2 Senate vote comes just days before the seven-week congressional break. It was a welcome political development for vulnerable Republicans such as Ohio's Rob Portman and New Hampshire's Kelly Ayotte, who pushed for the measure before they faced constituents.

The legislation creates grants and other programs aimed at addressing drug abuse, especially heroin and opioids, a crippling problem that claims victims across racial, economic and geographic lines. There were more than 47,000 U.S. drug abuse fatalities in 2014 — double the death rate in 2000. Most of those deaths were from heroin or opioids, potentially addictive medications that are prescribed to kill pain.

"Some action is better than none."

In a statement, the White House said Obama would sign the bill while expressing disappointment that it failed to provide significant money to deal with the epidemic.

"Some action is better than none," the White House said, but Obama "won't stop fighting to secure the resources this public health crisis demands. Congressional Republicans have not done their jobs until they provide the funding for treatment that communities need to combat this epidemic."

The government has estimated that more than 2 million Americans have opioid abuse problems, and nearly 500,000 more are heroin addicts.

Democrats had complained that the election-year bill does not include money to pay for its programs, but said it was better to back the measure and push for more money in future spending bills.

Sen. Ron Wyden, D-Ore., called the bill "a half-measure" and said Congress' work on the issue is not complete.

Let our news meet your inbox. The news and stories that matters, delivered weekday mornings. This site is protected by recaptcha

"Nobody should be doing victory laps," Wyden said.

The bill "sets up programs that could be a big help to people who are struggling to get their lives back on track, but it doesn't make the investments that would deliver on that promise," he said.

Portman called the Senate vote "a victory for American families who are struggling with the disease of addiction."

"This is a historic moment — the first time in decades that Congress has passed comprehensive addiction legislation, and the first time Congress has ever supported long-term addiction recovery," Portman said.

The bill was designed to ensure that federal resources are focused on evidence-based prevention, treatment and recovery programs that have been tested and proven effective in local communities, Portman said.

"Nobody should be doing victory laps."

The bill authorizes $181 million in new spending, with an expectation that lawmakers will approve nearly $500 million for opioid programs in the next budget year, he said.

"At a time when drug overdoses claim 129 American lives every day, it's painfully clear that we need to do more now," said Senate Majority Leader Mitch McConnell, R-Ky.

Democrats initially refused to endorse the final accord that House-Senate bargainers produced last week, complaining that it contained no actual money to finance its programs. Democrats sent a letter to McConnell Wednesday demanding that he schedule a vote soon to approve additional spending to combat opioid abuse.

The opioid bill "holds great promise for the fight against opioid use disorders," the Democrats said. "However, that promise — to help families coping with the devastating toll of this epidemic — can only be realized with real dollars needed to deliver life-saving prevention and treatment services."

Despite the letter, no Democratic senator opposed the bill. Republicans Sens. Ben Sasse of Nebraska and Mike Lee of Utah cast the only "no" votes.