我想按流程类执行以下命令:
SQLHENV hEnv = NULL;
SQLHDBC hDbc = NULL;
char inString[512];
char outString[512];
SQLSMALLINT outLength;
SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hEnv);
SQLSetEnvAttr(hEnv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0);
SQLAllocHandle(SQL_HANDLE_DBC, hEnv, &hDbc);
outLength = 512;
memset(outString, 0, 512);
strcpy(inString, "Driver={ODBC Driver 17 for SQL Server};Server=MYSERVER\\MYINSTANCE;Database=MYDB;UID=sa;PWD=MYPASSWORD");
SQLDriverConnect(hDbc, NULL, inString, (SQLSMALLINT)strlen(inString), outString, 512, &outLength, SQL_DRIVER_NOPROMPT);
SQLDisconnect(hDbc);
SQLFreeHandle(SQL_HANDLE_DBC, hDbc);
SQLFreeHandle(SQL_HANDLE_ENV, hEnv);
但是在下面出现错误: sudo:不存在tty且未指定askpass程序
因此执行删除命令之前可能需要输入密码。
答案 0 :(得分:0)
我通过使用“ STPrivilegedTask”找到了解决方案,该工具是一种获得用户授权的工具。 我认为使用FileManager API也是一个好主意