Ошибка под MS Office Home And Studen
От: andreypro  
Дата: 05.02.10 07:58
Оценка:
Пишу свое приложение на framework 1.1, использую базу данных Access
Данное приложение генерирут документы в MS Office

Столкнулся с проблемой когда установлена MS Office Home & Student.
С другими редакциями MS Office 2007, а также в случае отстутствия MS Office на компьютере, такой проблемы не возникает.

При запросе в БД вываливается ошибка:
MyProject.Data.BOException: Ошибка при получении контрагента --->
System.Data.OleDb.OleDbException: Неопределенная функция 'Left' в выражении.
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(Int32 hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)


Запрос к базе данных, который вызвает проблему:
SELECT C.*, Left(C.description, 255) AS _desc, IIf(C.type_id=1,C.lastname & "" "" & firstname & IIf(IsNull(C.middlename),"""","" "" & C.middlename),"""" & C.lastname) AS ContactFullName, CT.name AS ContactTypeName FROM (Contact C INNER JOIN ContactType CT ON C.type_id=CT.type_id) WHERE C.contact_id=@contact_id

Если выполнять данный запрос на проблемном компьютере из сценария VBS,
то указанной проблемы не возникает.

Заранее спасибо за помощь!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.