Проблема с генерацией * DBML файла из * SDF с утилитой SqlMetal - PullRequest
2 голосов
/ 26 января 2011

Я пытаюсь сгенерировать dbml из файла sdf.

Итак, я локализую утилиту sqlMetal в: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

Путь к файлу Sdf DB: D:\DB_TEST\Spiri_SQL_CE_DB.sdf

Поэтому я пробую эту команду для создания файла dbml:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>sqlmetal.exe D:\DB_TEST\
Spiri_SQL_CE_DB.sdf /dbml:D:\DB_TEST\Spiri_SQL_CE_DB.sdf\Spiri_SQL_CE_DB.dbml

Я получаю эту ошибку:

Error : SQM1007: There is an IO error and the output file 'D:\DB_TEST\Spiri_SQL_
CE_DB.sdf\Spiri_SQL_CE_DB.dbml' cannot be opened.

Итак, я пробую эту команду:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>sqlmetal.exe D:\DB_TEST\
Spiri_SQL_CE_DB.sdf /dbml:Spiri_SQL_CE_DB.dbml

Но я получаю эту ошибку:

Error : Access to the path 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\
Bin\Spiri_SQL_CE_DB.dbml' is denied.

В конце я попробую эту версию команды:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>sqlMetal /dbml:Spiri_SQL
_CE_DB.dbml D:\DB_TEST\Spiri_SQL_CE_DB.sdf

Но я получаю ту же ошибку:

Error : Access to the path 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\
Bin\Spiri_SQL_CE_DB.dbml' is denied.

Я знаю, что файл Spiri_SQL_CE_DB.dbml еще не существует, но я пытаюсь сгенерировать с помощью sqlMetal turil этот файл, что плохого?

1 Ответ

1 голос
/ 26 января 2011

Скопируйте SDF и DBML в место, где у вас есть достаточные права на запись / изменение.

В противном случае запустите командную строку с повышенными разрешениями (он же администратор runas).

Кстати, ваш первыйпопытка полностью фальшивая.

ИЛИ:

sqlMetal /dbml:D:\DB_TEST\Spiri_SQL_CE_DB.dbml D:\DB_TEST\Spiri_SQL_CE_DB.sdf 
...