2015-03-16 2 views
1

Я знаю его основной вопрос, но никто не спросил его, поэтому я спрашиваю, возможно, все это знают.Подключение к базе данных с помощью VBA

Dim cnn As ADODB.Connection. 
Dim rst As ADODB.Recordset 
Set cnn = New ADODB.Connection 
With cnn 
    .ConnectionString = "Driver=SQL Server;Server=something;Uid=something;PWD=something!;Database=CS" 
    .ConnectionTimeout = 60 
    .Open 
End With 

Хорошо, поэтому здесь у меня есть сомнения, где мы определяем фактическое существование базы данных?

Я имею в виду, как код будет знать, где находится БД? нам нужно дать ссылку на какой-то путь?

Вышеприведенный код открывает соединение и сохраняет его, но где находится БД, как код знает?

+0

[строка подключения Excel] См (http://www.connectionstrings.com/ excel /), [строки подключения ACE OLEDB] (http://www.connectionstrings.com/ace-oledb-12-0/), если у вас могут быть файлы из Excel 2007 или более поздней версии и [строки подключения Microsoft Jet] (http : //www.connectionstrings.com/microsoft-jet-ole-db-4-0/), если у вас нет драйверов [ACE] (http://www.microsoft.com/en-us/download/ details.aspx? id = 13255), установленный на компьютере. –

ответ

2

Эта строка подключения предназначена для подключения к SQL-серверу. База данных SQL-сервера не является файлом с определенным пути к файлу. Знать имя сервера и имя базы данных (в этом примере Database = CS) достаточно. Если вы хотите подключиться к базе данных Microsoft Excel, стандартная строка соединения будет что-то вроде этого (поиска для правильной версии):

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls; 
Extended Properties="Excel 8.0;HDR=Yes;IMEX=1"; 
+0

Спасибо, Али, я понимаю, что вы говорите, моя проблема в том, где мы даем путь для источника базы данных? вы указали ниже право, но в моем коде я не вижу ссылки на какой-либо databasel, например, Provider = Microsoft.Jet.OLEDB.4.0; Источник данных = C: \ MyExcel.xls; – Anarach

+0

Хорошо, так что один быстрый вопрос, SQL-сервер, как облачная БД? где вам нужно только имя сервера и имя базы данных? так, другими словами, он автоматически подключится к Интернету и будет искать базу данных? – Anarach

+0

База данных SQL - это не один файл, такой как доступ Microsoft или Microsoft Excel, и поэтому не имеет прямого пути к дискам Windows. В простом слове это сложная смесь файлов и настроек, где вы можете получить к ней доступ, просто позвонив ** имя сервера ** и ** имя базы данных **. слово ** Cloud ** - это не определение того, что я сказал. Это всего лишь способ доступа к службам баз данных, поскольку эти базы данных могут быть SQL-сервером или нет. –

Смежные вопросы