Создание подключения DSNless к Pervasive в VBA - PullRequest
0 голосов
/ 23 августа 2011

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

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

Поэтому кто-то может опубликовать пример полного кода, чтобы открыть соединение и создать набор записей.Было бы наиболее ценно

ОТ КОММЕНТАРИЙ

Sub pervasiveExample() 
Dim adoConn As ADODB.Connection 
Set adoConn = New ADODB.Connection 
adoConn.Provider = "PervasiveOLEDB" 
adoConn.ConnectionString = "driver={Pervasive ODBC Client Interface};Data Source=C:\TestData" 
adoConn.Open 
If adoConn.State = adStateOpen Then 
    MsgBox "Welcome" 
Else MsgBox "Error connecting to Database." 
End If 
End Sub 

Это ошибка, которую я получаю: ошибка времени выполнения'-2147217837 (80040e53) ': режим, уровень защиты или неизвестный параметрбыл установлен (неправильно) в строке подключения

1 Ответ

1 голос
/ 23 августа 2011

В любом случае, я вижу вашу проблему:

Sub pervasiveExample()
Dim adoConn As ADODB.Connection
Set adoConn = New ADODB.Connection
adoConn.ConnectionString = "driver={Pervasive ODBC Client Interface};DBQ=DEMODATA"
adoConn.Open
If adoConn.State = adStateOpen Then
    MsgBox "Welcome"
Else
    MsgBox "Error connecting to Database."
End If
End Sub

Если вы используете «driver =» в строке подключения, вы не можете использовать путь.Вы должны указать имя базы данных (или DSN движка с помощью ServerDSN = и ServerName = для удаленных подключений) в строке подключения.Вы также не указываете поставщика при использовании драйвера ODBC.

Невозможно подключиться к базе данных PSQL без создания хотя бы всеобъемлющего имени базы данных.Вам не нужно ODBC DSN, но это помогает.Не поддерживается способ подключения к пути с помощью PSQL ODBC или OLEDB.

Вы можете создать имя базы данных в коде, используя DTO.

...