Я создал проект, который использует базу данных sqlserverce для прайслиста, emploee info и т. Д., Делает предложение в PDF и открывает новое электронное письмо для отправки его клиенту.Запуск проекта в качестве администратора помогает с базой данных, но вызывает system.runtime.interopservices.comexception
Первая проблема: «Указанная таблица не существует. [XXXXX]». Я узнал, что если я запускаю проект как администратор, он помогает при подключении к базе данных.
Но это вызывает другую проблему: подножка проект как администратор не дает, когда прогноз открыт (не проблема, когда перспектива закрыта):
System.Runtime.InteropServices.COMException Retrieving the COM class factory for component with CLSID ..... (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
когда проект пытается создать новое сообщение электронной почты.
Есть ли какое-либо обходное решение или способ заставить обе части работать вместе? У вас есть какие-то выводы? Я немного искал Google, но я узнал, что мне нужно изменить реестр, чтобы избежать второй проблемы. Есть ли другой путь?
Это код электронной почты:
Outlook.Application objApp = new Outlook.Application();
Outlook.MailItem mail = null;
mail = (Outlook.MailItem)objApp.CreateItem(Outlook.OlItemType.olMailItem);
//The CreateItem method returns an object which has to be typecast to MailItem
//before using it.
mail.Attachments.Add((object)saveFile.FileName, Outlook.OlAttachmentType.olByValue, 1, Type.Missing);
//The parameters are explained below
mail.To = email;
mail.BCC = "[email protected]";
mail.Display();
Это код для подключения к базе данных (бывает несколько раз в программе):
System.Data.SqlServerCe.SqlCeConnection sqlconnection = new System.Data.SqlServerCe.SqlCeConnection();
System.Data.DataSet DtSet = new System.Data.DataSet();
System.Data.SqlServerCe.SqlCeDataAdapter sqladapter;
string katalog = Application.StartupPath + "\\Bazadanych.sdf"; //Data Source = C:\\Users\\user\\Documents\\Visual Studio 2010\\Projects\\BMGRP\\Oferty BMGRP\\Oferty BMGRP\\bin\\Debug\\BazaDanych.sdf
sqlconnection.ConnectionString = "Data Source = " + katalog + "; Max Database Size=40"; //zmienić na katalog root programu
sqlconnection.Open();
string sql = "SELECT * From Przedstawiciele";
sqladapter = new System.Data.SqlServerCe.SqlCeDataAdapter(sql, sqlconnection);
sqladapter.Fill(DtSet);
comboBox1.DataSource = DtSet.Tables[0];
comboBox1.DisplayMember = "imie";
sqlconnection.Close();
Да. Программа устанавливается в файлы программы по умолчанию.
Показать свой код или закрытие лица. Где вы были строкой для сохранения вашей базы данных? В папке Program Files? – spender
@spender Да, база данных находится в программных файлах. –