Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Помогите с sql


Автор: VerLinG 28.9.2008, 15:08
Посмогите пожалуйста с методом ...
Я пишу веб сервис, он должен выполнять для клиента две функции - добавление и считывание...
Вроде все делаю правильно, но ничего не получается...не могли бы вы помочь мне?...

Я создаю SQL базу данных на локальном сервере с именем base, в ней две колонки Date и Text
Вот какой метод для добавления 

  
Код

    [WebMethod(Description="Add string")]
    public void AddString(string InputDate, string InputText) {

        SqlConnection cn = new SqlConnection();
        cn.ConnectionString = "data source=localhost; initial catalog=Base;" +
            "uid=sa;pwd=";
        cn.Open();
        string sql = string.Format("Insert into Table_1" + "(Date, Text) Values" + "('{0}','{1}')", InputDate, InputText);
        SqlCommand cmd = new SqlCommand(sql, cn);
        cmd.ExecuteNonQuery();

        
    }

 

Вылезает ошибка

System.Data.SqlClient.SqlException: Login failed for user 'sa'. The user is not associated with a trusted SQL Server connection.
   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
   at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Open()
   at Service.AddString(String InputDate, String InputText) in c:\Client_Server\Server\App_Code\Service.cs:line 49


Автор: Idsa 28.9.2008, 17:55
VerLinG, нужно в настройках Sql Server'а установить смешанный тип аутентификации. По умолчанию стоит только windows аутентификация, отсюда и ошибка.

Автор: VerLinG 28.9.2008, 18:19
а где это указывать ? :-[

Автор: Idsa 29.9.2008, 05:53
В Management Studio кликните правой кнопкой по корневому элементу -> Properties -> Security
http://ipicture.ru/Gallery/Viewfull/7322814.html

Автор: VerLinG 1.10.2008, 23:24
нашел другой выход...в подключении прописать 
Integrated Security=True;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)