2

我尝试从 sdf 文件生成 dbml。

所以我将 sqlMetal util 本地化为: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin

Sdf 数据库文件路径: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 生成这个文件,有什么不好的?

4

1 回答 1

1

将 SDF 和 DBML 复制到您有足够的写入/修改权限的位置。

否则使用提升的权限(又名 runas 管理员)启动命令提示符。

顺便说一句,您的第一次尝试完全是假的。

或者做:

sqlMetal /dbml:D:\DB_TEST\Spiri_SQL_CE_DB.dbml D:\DB_TEST\Spiri_SQL_CE_DB.sdf 
于 2011-01-26T11:52:58.717 回答