我想在SQL Express中恢复.BAK文件之前执行此SQL查询.最初,我在我的用户帐户的桌面上有该文件.我以管理员身份登录.
当我尝试像这样访问桌面上的.BAK文件时
RESTORE FILELISTONLY FROM DISK= 'C:\Documents and Settings\Administrator\Desktop\file.bak'
Run Code Online (Sandbox Code Playgroud)
我收到一个错误.
Msg 3201, Level 16, State 2, Line 1 Cannot open backup device 'C:\Documents and Settings\Administrator\Desktop\file.bak'. Operating system error 5(Access is denied.). Msg 3013, Level 16, State 1, Line 1 RESTORE FILELIST is terminating abnormally.
但是,当我将.BAK文件移动到C:\temp并执行它时
RESTORE FILELISTONLY FROM DISK= 'C:\temp\file.bak'
Run Code Online (Sandbox Code Playgroud)
它工作得很好.
我无法弄清楚发生了什么.有没有办法使用Windows身份验证使用SQL Express访问桌面上的文件?
我有一块看起来像这样的代码:
lua_newtable(L);
lua_pushstring(L, "gid");
lua_pushinteger(L, info[i].codepoint);
lua_settable(L, -3);
lua_pushstring(L, "cl");
lua_pushinteger(L, info[i].cluster);
lua_settable(L, -3);
lua_pushstring(L, "ax");
lua_pushnumber(L, pos[i].x_advance);
lua_settable(L, -3);
lua_pushstring(L, "ay");
lua_pushnumber(L, pos[i].y_advance);
lua_settable(L, -3);
lua_pushstring(L, "dx");
lua_pushnumber(L, pos[i].x_offset);
lua_settable(L, -3);
lua_pushstring(L, "dy");
lua_pushnumber(L, pos[i].y_offset);
lua_settable(L, -3);
lua_pushstring(L, "w");
lua_pushinteger(L, extents.width);
lua_settable(L, -3);
lua_pushstring(L, "h");
lua_pushinteger(L, extents.height);
lua_settable(L, -3);
lua_pushstring(L, "yb");
lua_pushinteger(L, extents.y_bearing);
lua_settable(L, -3);
lua_pushstring(L, "xb");
lua_pushinteger(L, extents.x_bearing);
lua_settable(L, -3);
Run Code Online (Sandbox Code Playgroud)
我正在做的只是在表格中设置几个字段.字段是字符串或数字.请注意代码的重复性.
有没有办法让这个更清洁,也许使用C宏?