Не мога да се свържа с моята локална база данни на SQL Server

В момента уча ADO.NET на C#. Уча се от книга и уроци, които намерих онлайн. Исках да опитам някои от примерите, за да се запозная с цялата SQL връзка и командни обекти и т.н. Затова опитах това:

namespace ConsoleApplication
{
    class SqlDemo
    {
        public void InitConnection ()
        {
            string connString = @"data source=C:\SQL Server 2000 Sample Databases; database=northwnd; integrated security=SSPI";
            SqlConnection conn = null;

            try
            {
                conn = new SqlConnection (connString);
                conn.Open ();
                Console.WriteLine ("DataBase connection established");
            }
            catch
            {
                Console.WriteLine ("DataBase connection not established");
            }
            finally
            {
                if (conn != null) conn.Close ();
            }

            Console.ReadKey (true);
        }

        static void Main (string[] args)
        {
            SqlDemo d = new SqlDemo ();
            d.InitConnection ();
        }
    }
}

И колкото и да се опитвам, мога да се свържа с локалната база данни. "data source=(local)" не работят.


person user990692    schedule 10.12.2011    source източник
comment

Тук е проблемът: имам буркан, съдържащ компилиран scala код. В буркан виждам

Step.class Step$class.class

които и двата са легални Java класове.

Въпреки това, когато се опитам да използвам Step$class в Intellij Idea java проект, той казва: „Не мога да разреша символ Step$class“. Но кодът се компилира с maven, така че предполагам, че проблемът е в IDE.

  -  person marc_s    schedule 11.12.2011


Отговори (3)


Няколко неща:

1) Изглежда, че може да имате правописна грешка в името на вашата база данни. Вероятно трябва да е:

database=northwind

2) Вашият източник на данни трябва да бъде (local) или . ИЛИ може да имате инсталиран екземпляр, в който случай може да се наложи да включите и името на екземпляра, като например .\SQLExpress или .\SQLServer.

person competent_tech    schedule 10.12.2011
comment
Добре. Мисля че го схванах. Създадох приложение за формуляр и добавих мрежа от данни и след това го използвах, за да се свържа с файла с база данни lcoal, който имам в моя компютър. Това е стойността на ConnectionString Data Source=.\SQLEXPRESS;AttachDbFilename=C:\SQL Server 2000 Sample Databases\NORTHWND.MDF;Integrated Security=True;Connect Timeout=30;User Instance=True - person user990692; 11.12.2011

Ако искате да се свържете с файл с база данни, като използвате път:

Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf; Database=dbname;Trusted_Connection=Yes;

От: http://www.connectionstrings.com/sql-server-2008

Въпреки това може да се наложи да "прикачите" базата данни към Sql сървъра. В Management studio щракнете с десния бутон върху папката Databases и изберете „Attach...“

person Steve Wellens    schedule 10.12.2011
comment
да Благодаря ти Стив. Това изглежда работи по-добре. Бърз въпрос. Каква е разликата между data source=(local) и data source=.\SQLExpress. Първият изглежда не работи за мен, въпреки че така го има в книгите и онлайн уроците. - person user990692; 11.12.2011
comment
Търсих в Google data source=(local) и първото попадение отговори на въпроса ви. social.msdn.microsoft .com/Forums/en-US/adodotnetdataproviders/ - person Steve Wellens; 11.12.2011

Ако използвате SQL Server 2000, тогава просто поставете 'local' или просто '.' (изключете кавичките) за източника на данни. И имате правописна грешка в името на базата данни. Трябва да е "Northwind"

person Isuru    schedule 10.12.2011