BCP - это - боль для установки, но это было вокруг с рассвета DBS, и это очень очень быстро.
, Если Вы не вставляете данные в тот порядок, индекс с 3 частями действительно замедлит вещи. Применение его позже действительно замедлит вещи также, но будет на втором шаге.
Первичные ключи в Sql являются всегда довольно медленными, чем больше ключ, тем медленнее.
Вместо printf («Ошибка»);
вы должны попробовать perror («Ошибка»)
, который может напечатать фактическую причину сбоя ( например, проблема с разрешением, недопустимый аргумент и т. д.).
Как вы запускаете файл? Это из командной строки или из IDE? Каталог, в котором находится ваш исполняемый файл, не обязательно является вашим рабочим каталогом.
Попробуйте использовать полное имя пути в fopen
и посмотрите, исправит ли это его. Если да, то проблема описана в описании.
Например:
file = fopen("c:\\MyDirectory\\TestFile1.txt", "r");
file = fopen("/full/path/to/TestFile1.txt", "r");
Или откройте командное окно и перейдите в каталог, где находится ваш исполняемый файл, а затем запустите его вручную.
В качестве альтернативы вы можете вставить простой (для Windows или Linux / UNIX / BSD / и т.д. соответственно):
system ("cd")
system("pwd")
перед fopen
, чтобы показать, в каком каталоге вы на самом деле находитесь.
Что ж, теперь вы знаете, что есть проблема, следующий шаг - выяснить, в чем именно заключается ошибка, что произойдет, когда вы скомпилируете и запустите это?:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *file;
file = fopen("TestFile1.txt", "r");
if (file == NULL) {
perror("Error");
} else {
fclose(file);
}
}
Рабочий каталог вашего исполняемого файла, вероятно, установлен не в каталог, в котором он сохранен. Проверьте настройки IDE.
Попробуйте использовать абсолютный путь для имени файла. А если вы используете Windows, используйте getlasterror (), чтобы увидеть фактическое сообщение об ошибке.
В дополнение к вышесказанному, вас может заинтересовать отображение вашего текущего каталога:
int MAX_PATH_LENGTH = 80;
char* path[MAX_PATH_LENGTH];
getcwd(path, MAX_PATH_LENGTH);
printf("Current Directory = %s", path);
Это должно работать без проблем на платформе gcc / glibc. (Мне больше всего знаком этот тип платформы). Здесь был опубликован вопрос , в котором говорилось о getcwd
и Visual Studio, если вы работаете на платформе типа Windows.
Каталог выходной папки должен быть настроен на какой-то другой каталог в среде IDE. Вы можете изменить это или заменить имя файла на весь путь к файлу.
Надеюсь, это поможет.
Небольшая проверка ошибок имеет большое значение - вы всегда можете проверить значение errno или вызвать perror () или strerror (), чтобы получить дополнительную информацию о том, почему вызов fopen () не удался.
В противном случае предложения о проверке пути, вероятно, верны ... скорее всего, вы не находитесь в каталоге, который, по вашему мнению, находится в среде IDE, и не имеете требуемых разрешений.