Класс Оледбконнектион

Я создал класс, который выполняет OleDbConnection с помощью метода и возвращает это соединение:

public class ConnectDB
    {
        public static OleDbConnection getConStr() {

            return OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Microsoft.SqlServer.Server.MapPath("Users.accdb") + ";Persist Security Info=False");       
        }
    }

но я получил ошибку в Server.MapPath ErrorMessage: имя «Сервер» не существует в текущем контексте. Как я могу преодолеть эту проблему?


person Ahmet Güzel    schedule 12.04.2013    source источник


Ответы (2)


вы, вероятно, используете этот код в файле class library.

Server — это объект ASP.NET, и вы можете получить к нему доступ только внутри страницы aspx или класса, производного от Control.

попробуй это:

 public class ConnectDB
 {
    public static OleDbConnection getConStr() {

        return OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="  +   HttpContext.Current.Server.MapPath("Users.accdb") + ";Persist Security Info=False");       
    }
}
person Manish Mishra    schedule 12.04.2013

Используйте только Server.MapPath следующим образом:

public class ConnectDB
    {
        public static OleDbConnection getConStr() {

            return OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="  +   Server.MapPath("Users.accdb") + ";Persist Security Info=False");       
        }
    }

Надеюсь, поможет.

person Freelancer    schedule 12.04.2013