「その本は読者に大いに影響を与えた。」英語にしたらどうなるでしょう?

The book gave a great influence to the readers.

となるかと思いますが、giveではなくhaveを使って

The book had a great influence to the readers.

「影響があった」とします。なぜgiveではだめなんでしょう?
giveは以下の様な用法があります。

He gave up the plan.
(彼はその計画をあきらめた。)

She gave birth to a girl.
(彼女は女の子を産んだ)

They gave in too soon.
(彼らはあっけなく屈した。)

giveは「自分が持っている物を与える」→「自分にあるものをなげだす」イメージがあるようです。「あきらめたり」「屈したり」すると自分がそれまで踏ん張っていたエネルギーがドッと出て行く感じがあります。


give birth to (子供を産む)も母親からエネルギーがドッと出るイメージにつながりますね。

しかし本が人に影響を与えたからと言って、本が持っているエネルギーが減るわけではありません。だからgiveは不適ということです。

で、影響が「ある」と考えて「ある」のhave。そして前置詞も、影響力のある主体(例文ではthe book)が対象(読者)と接触してそこから影響力が伝わるというイメージから、接触の on になります。

「ある」は英語はSVOの have がここにも表れています。