Как использовать метод GetOleDbSchemaTable на длинном имени dbf файл

Какой полный путь к каталогу examples, который вы упомянули в конце? Я подозреваю, что это в вашем пользовательском каталоге (для вашего удобства установщик делает копию примеров в этом месте). Файл setup.py устанавливается в подкаталогах, зависящих от версии (то есть в каталогах с именами 2.7, 3.5 и 3.6), по умолчанию в следующем месте: C:\Program Files\IBM\ILOG\CPLEX_Studio128\cplex\python.

6
задан user84748 14 April 2009 в 21:37
поделиться

5 ответов

Что ж, я думаю, что соединение должно быть

string cxn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\;Extended Properties=dBASE 5.0";
OleDbConnection connection = new OleDbConnection(cxn);

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

string cxn = "PROVIDER=VFPOLEDB.1;Data Source=C:\;Extended Properties=dBASE 5.0";

Но у вас должен быть установлен VFP 7

или установить Microsoft OLE DB Provider для Visual FoxPro 9.0 отсюда

        const string connectionString = @"Provider = vfpoledb; Data Source = {0}; Collating Sequence = general;";
        OleDbConnection conn = new OleDbConnection(string.Format(connectionString, dirName));
        conn.Open();
        OleDbCommand cmd = new OleDbCommand(string.Format("select * from {0}", fileName), conn);
1
ответ дан 17 December 2019 в 18:20
поделиться

Содержит ли fileNameNoExt версию с коротким именем файла? Кроме того, MyLongF ~ 1 - это 9 символов, а не 8.

0
ответ дан 17 December 2019 в 18:20
поделиться

Если у вас есть один (и, возможно, небольшой) файл dbf, вы можете решить проблему, скопировав файл dbf в другое место и открыв копию вместо исходного файла.

0
ответ дан 17 December 2019 в 18:20
поделиться

Согласно MSDN , папка представляет базу данных, а файлы представляют собой таблицы. Тогда вы должны использовать путь к каталогу, не включая имя файла в строке подключения, и имя таблицы как часть ограничений для GetOleDbSchemaTable.

2
ответ дан 17 December 2019 в 18:20
поделиться

Я считаю, что DataSource должен представлять каталог, содержащий файлы .DBF. Каждый файл .DBF соответствует таблице в этом каталоге.

Я предполагаю, что c: \ MyLongF ~ 1 - это короткое имя для каталога, содержащего имя файла, соответствующее MyLongF ~ 1 # DBF

Вы можете проверить, действительно ли не так ли это?

0
ответ дан 17 December 2019 в 18:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: