Я пытаюсь создать базу данных, которая использует простые текстовые файлы в качестве источников данных для своих таблиц.Кажется, это единственный вариант, потому что я не могу установить что-то другое на корпоративных ПК.Я попытался использовать различные строки подключения для инициализации базы данных (см. Код ниже).
У меня есть две проблемы: во-первых, если мне удается соединиться с strConnectionString2, возникает ошибка, что десятичный разделитель (запятая) соответствует разделителю текста (запятая).Это НЕ вариант изменить что-либо в реестре, потому что компьютеры сильно защищены.
Вторая проблема: если я использую ConnectionString3, я получаю сообщение об ошибке «Слишком длинное имя источника данных».Когда я пытаюсь использовать более короткий, он говорит, что источник данных не может быть найден.Система 64-битная Windows 7
Любая помощь будет очень ценится.Также принимаются альтернативные методы, но они не могут включать установку какого-либо дополнительного программного обеспечения и изменение чего-либо в каталоге.Изменение десятичного разделителя в Excel также невозможно, так как это может привести к сбою других рабочих процессов.
Sub testDatabase()
Dim strDatabaseDirectory As String
Dim strConnectionString1 As String
Dim strConnectionString2 As String
Dim strConnectionString3 As String
Dim dbMurenaDatabase As ADODB.Connection
Dim rcsRecords As ADODB.Recordset
strDatabaseDirectory1 = ThisWorkbook.path & "\database\"
strDatabaseDirectory2 = "Libraries\Documents"
strDatabaseDirectory3 = "C:\db"
strConnectionString1 = "Data Source='" & strDatabaseDirectory & "';Delimiter=';'"
strConnectionString2 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDatabaseDirectory1 & ";" & _
"Extended Properties=""" & "text;HDR=Yes;FMT=Delimited""" & ";"
strConnectionString3 = "Data Source='" & strDatabaseDirectory3 & "';Delimiter=';';" & _
"Has Quotes=True;Skip Rows=0;Has Header=True;Comment Prefix='#';" & _
"Column Type=String,String,String,Int32,Boolean,String,String;" & _
"Trim spaces=False;Ignore Empty Lines=True;"
Set dbMurenaDatabase = New ADODB.Connection
dbMurenaDatabase.Open strConnectionString3
dbMurenaDatabase.Execute "CREATE TABLE [firstTable.txt] (FirstCol TEXT, SecCol TEXT)"
dbMurenaDatabase.Execute "INSERT INTO [firstTable.txt] Values ('smth', 'smth2');"
dbMurenaDatabase.Execute "SELECT * FROM firstTable.txt"
End Sub