Какой полный путь к каталогу examples
, который вы упомянули в конце? Я подозреваю, что это в вашем пользовательском каталоге (для вашего удобства установщик делает копию примеров в этом месте). Файл setup.py
устанавливается в подкаталогах, зависящих от версии (то есть в каталогах с именами 2.7
, 3.5
и 3.6
), по умолчанию в следующем месте: C:\Program Files\IBM\ILOG\CPLEX_Studio128\cplex\python
.
Что ж, я думаю, что соединение должно быть
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);
Содержит ли fileNameNoExt версию с коротким именем файла? Кроме того, MyLongF ~ 1 - это 9 символов, а не 8.
Если у вас есть один (и, возможно, небольшой) файл dbf, вы можете решить проблему, скопировав файл dbf в другое место и открыв копию вместо исходного файла.
Согласно MSDN , папка представляет базу данных, а файлы представляют собой таблицы. Тогда вы должны использовать путь к каталогу, не включая имя файла в строке подключения, и имя таблицы как часть ограничений для GetOleDbSchemaTable.
Я считаю, что DataSource должен представлять каталог, содержащий файлы .DBF. Каждый файл .DBF соответствует таблице в этом каталоге.
Я предполагаю, что c: \ MyLongF ~ 1 - это короткое имя для каталога, содержащего имя файла, соответствующее MyLongF ~ 1 # DBF
Вы можете проверить, действительно ли не так ли это?