2013-11-26 99 views
0

在我的C++代码中,我试图找出我的SQLDriverConnect连接到哪个dsn驱动程序来获取连接字符串。不幸的是,连接字符串只指定驱动程序描述,而不指定使用哪个驱动程序。无论如何要真正找出哪个驱动程序正在使用?我如何知道哪个dsn驱动程序正在使用?

回答

0

传递给SQLDriverConnect的连接字符串必须通过使用DRIVER = {xxx},DSN = yyy,FILEDSN = zzz来以某种方式标识要使用的驱动程序。如果您仔细想想,如果传递给SQLDriverConnect的字符串没有标识驱动程序,那么ODBC驱动程序管理器将如何知道要加载哪个ODBC驱动程序。您只需查看传递给SQLDriverConnect的连接字符串并找出传递哪些属性即可。如果它是驱动程序= xxx,则进入ODBC管理员并选择驱动程序选项卡,然后查找驱动程序名称。如果它是DSN = xxx,则在用户或系统DSN中查找ODBC管理器中的DSN xxx,以查找它们使用的驱动程序。

最后,一旦连接了SQLGetInfo调用,您可以使用它来检索正在使用的驱动程序。

相关问题