C++ [ODBC]-MSSQLExpress 2008 SQLSTATE:28000 || 42000

C++ [ODBC]-MSSQLExpress 2008 SQLSTATE: 28000 || 42000

我在尝试开发一个程序时遇到了一些问题,该程序必须从在 MSSQL 2008 管理下创建的数据库和表中获取信息。 我不得不承认我是 ODBC 的新手...... 如果有人可以帮我解决这个问题?我尝试了两种解决方案来连接到我的数据库 [CodeA] 和 [CodeB]。我在 google 上找到了文档并尝试了几个解决方案,但直到现在都找不到合适的解决方案。 请在下面查看我的连接字符串。

代码A:

SQLDriverConnect (sqlconnectionhandle,NULL,
(SQLCHAR*)TEXT("DRIVER={SQL Server};SERVER=TOWER-PC\SQLEXPRESS;DATABASE=tfe;UID=adminA;PWD=@Admin1;IntegratedSecurity=SSPI;"),
SQL_NTS,retconstring,1024,NULL,SQL_DRIVER_NOPROMPT)

代码B:

SQLDriverConnect (sqlconnectionhandle,NULL,
(SQLCHAR*)TEXT("DRIVER={SQL Server};SERVER=TOWER-PC\SQLEXPRESS;DATABASE=tfe.mdf;UID=adminA;PWD=@Admin1;Trusted_Connection=Yes;"),
SQL_NTS,retconstring,1024,NULL,SQL_DRIVER_NOPROMPT)

代码C:

SQLDriverConnect (sqlconnectionhandle,NULL,
(SQLCHAR*)TEXT("DRIVER={SQL Server};SERVER=TOWER-PC\SQLEXPRESS;DATABASE=tfe.mdf;Trusted_Connection=Yes;"),
SQL_NTS,retconstring,1024,NULL,SQL_DRIVER_NOPROMPT)

从执行中返回的 SQLSTATE。 虽然这是归因于我的用户的角色:

解决方案

我通过将连接字符串修改为:

解决了这个问题

"DRIVER={SQL Server};SERVER=TOWER-PC;DATABASE=tfe;UID=adminA;PWD=@Admin1;"

Helpful link