Рейтинг:
7
OriginalGriff
Откройте SSMS и щелкните правой кнопкой мыши узел имя главного сервера на панели "Обозреватель объектов".
Выберите пункт "Свойства" и в появившемся диалоговом окне выберите страницу "настройки базы данных" из списка слева.
В самом низу находится "расположение базы данных по умолчанию": поле "Данные" указывает папку, в которой SQL Server хранит файлы своей базы данных.
Member 10376725
Спасибо, я нашел его. Интересно, почему исследователь не нашел его?
OriginalGriff
Возможно, потому, что он не "ваш" - он принадлежит пользователю агента, который запускает SQL Server, а не пользователю, от имени которого вы входите в систему.
Member 10376725
Это нуждается в некотором объяснении. Во всяком случае, это вызвало еще одну проблему: когда я попытался прикрепить базу данных к проекту VB, он сказал, что у меня нет разрешения на использование файла. Итак, я изменил разрешения, чтобы разрешить всем доступ, и теперь он говорит мне, что файл открыт в другой программе. Хоть убей, я понятия не имею, о чем он говорит.
Member 10376725
Кто такой агент, если не я, я единственный, кто использует этот компьютер и сам все установил.
OriginalGriff
О боже ... :смеяться:
Вы больше не "владеете" своим компьютером - это делает ОС, и она решает, к чему вам разрешен доступ. Вы не единственный пользователь, и большинство пользователей "не вы" предназначены для таких вещей, как службы, которые, поскольку они запускаются до вашего входа в систему, не могут работать под вашим идентификатором пользователя. А SQL Server-это служба, которая работает под собственным идентификатором агента.
Попробуйте следующее: запустите Диспетчер задач (CTRL + SHIFT + ESC приведет вас туда), убедитесь, что вы находитесь в режиме "больше деталей" (если он говорит "меньше деталей" в левом нижнем углу, вы находитесь), и нажмите вкладку "Детали". Вы видите столбец "имя пользователя", который будет содержать вас, систему и кучу других имен, которые также являются пользователями, но которые на самом деле не могут войти в систему.
SQL Server работает под своим собственным пользователем(АМИ), вероятно, "LOCAL SERVICE" и "MSSQL$" плюс имя экземпляра. Это пользователь, который "владеет" базами данных, а не вы! И на это есть веские причины: Во-первых, чтобы он мог действовать как сервис для других компьютеров, даже если вы не войдете в систему на этой неделе; и во-вторых, чтобы он мог "захватить" файлы базы данных, чтобы никто другой не возился с ними. Как только вы даете SQL базу данных, он не хочет отпускать ее! :смеяться:
Почему вы пытаетесь найти настоящие файлы?
Member 10376725
I have a Visuak Basic program that I am working on. I have the main progam on my Desktop but am working on an upgrade for it. I'm doing this on my laptop for the reason of portability along with the fact I didn't want to take a chance of corrupting the original data. I created a duplicate database on the laptop and, using a .txt file, i ported the data from the main database to the new one. All worked well, but now I want to attach the new database to the VB program and ran into the above problems. I changed the permissions, but now it says the file is open in another operation. So now what??? I understand the whys, but not letting me access a database I created seems a bit counter productive to me.
Member 10376725
Эй, OriginalGriff, что произойдет, если я завершу задачу MSSQL$SQLEXPRESS?
OriginalGriff
Не уверен, что вы можете: он принадлежит другому агенту, так что вы можете получить вежливое сообщение "уходи и перестань быть глупым".
Но если вы это сделаете, то службы SQL перестанут быть доступными. Вполне возможно, что они могут автоматически перезапустить задачу службы, когда ваш код начнет подключаться, если служба настроена на это, но я сомневаюсь в этом - в прошлом у меня были случаи, когда SQL не запускался на моей машине разработчиков, и мне приходилось вручную запускать его в приложении служб, чтобы работать с БД.
И вы можете потерять данные или оставить свою БД в несогласованном состоянии.
Я бы оставил его в покое - запустил или остановил в приложении служб, чтобы быть в безопасности.
Member 10376725
Все, что я знаю, это то, что у меня есть эта база данных с более чем 800 фильмами в ней, и я хочу создать пользовательский интерфейс, который позволит мне просматривать, добавлять, удалять и любые другие манипуляции, которые я хочу сделать с ней, и я даже не могу получить доступ к этим данным. У меня уже есть аналогичная программа с аналогичной базой данных и никаких проблем. Почему я не могу сделать это в новой программе? И что я должен сделать, чтобы это произошло?
как я уже говорил ранее, это не имеет смысла, что я могу создать базу данных, а затем не иметь доступа к ней с помощью программы VSVB. Или C#, или C++, если уж на то пошло. Я просто предпочитаю Visual Basic.
Дарби
OriginalGriff
Вы дали это SQL - что является хорошей идеей - так что пусть SQL справится с этим!
Вы получаете доступ к БД с помощью команд SQL с выбранного вами языка, будь то VB, C# или C++
Вы устанавливаете соединение через объект SqlConnection и используете SqlCommands и / или SqlDataAdapters для выполнения операций SELECT, INSERT, UPDATE и DELETE.
Using con As New SqlConnection(strConnect)
con.Open()
Using cmd As New SqlCommand("SELECT iD, description FROM myTable", con)
Using reader As SqlDataReader = cmd.ExecuteReader()
While reader.Read()
Dim id__1 As Integer = CInt(reader("iD"))
Dim desc As String = DirectCast(reader("description"), String)
Console.WriteLine("ID: {0}" & vbLf & " {1}", iD, desc)
End While
End Using
End Using
End Using