Mrs McKenna's devastated husband David and other members of the family were in court to hear the apology.
Dr James said: ''I saw in my own notes that I had put in the dose of Idarubicin incorrectly.
''The records showed that she had been given four times the required dose.
''I had written out the prescription after a long and emotional meeting with Mrs McKenna and her family and filled it out wrong.
''I am very sorry that a mistake was made.''
Mrs McKenna, a housewife from Knowle in Bristol, was diagnosed with multiple myeloma, a cancer of the bone marrow, in March 2006.
She was prescribed a course of chemotherapy tablets in the hope of prolonging her life.
Without them, doctors gave her just two years to live.
But Mrs McKenna was given a prescription for 60mg of Idarubicin per day, instead of the usual 15mg or 20mg per day.
The drug left her in agonising pain, and with vomiting and diarrhoea. It also sparked a high fever and led to renal failure.
Without knowing it, she had been overdosing on a drug that destroyed her body's own cancer-fighting cells.
A post mortem examination found the cause of death to be Idarubicin overdose and multiple Myeloma.
Pathologist Dr High White, who carried out the tests, said in a statement: ''On March 16 she was treated with the chemotherapy drug, but instead of being given 15mg over four days, she was given four times this on each of the four days.
''Records show she had a normal white blood cell count, but following chemotherapy she had vomiting, diarrhoea and pain.
''She had almost no white blood cells in her blood because of the treatment.
''She made a mild recovery but developed fever, diarrhoea and renal failure, and died.''
But Dr James' error was not the only factor that led to her death, the jury heard.
Staff in the pharmacy at Frenchay Hospital failed to spot the oversight or the lethal dosage.
It has since emerged that the prescription, which would identify the pharmacist at fault, has gone missing.
The five-day inquest continues.