开发者社区> 问答> 正文

无法通过ODBC连接到SQLServer

在过去,我使用ADO访问SQLServer,ADO连接对象的连接字符串是:

Provider=sqloledb;Data Source=MYPC;Integrated Security=SSPI;

其中MYPC是我的计算机的名称,SQL Server作为默认实例安装在我的计算机上。

上面的连接字符串工作良好。

然而,现在据说ado已经过时了,而odbc又被微软推荐了(见https://blogs.msdn.microsoft.com/sqlnativeclient/2011/08/29/microsoft-is-aligning-with-odbc-for-native-relational-data-access/),所以我必须修改代码以使用ODBC。

因此,我将与SQLServer的连接更改为以下代码:

CDatabase Database;

 //  Provider=sqloledb;Data Source=MYPC;Integrated Security=SSPI;
 Database.OpenEx(_T("Driver = {SQL Native Client}; Server = MYPC; Trusted_Connection = yes;"), CDatabase::noOdbcDialog);

 Database.ExecuteSQL(_T("create database [MyDB2019] on primary (name=[MyDB2019_File],filename='F:\\MyDB2019.mdf')"));

 Database.Close();

但是,此代码不起作用。执行后Database.OpenEx,将有一个CDBException指示

未找到数据源名称,也未指定默认驱动程序。

为什么?

展开
收起
aqal5zs3gkqgc 2019-12-06 20:10:46 1548 0
1 条回答
写回答
取消 提交回答
  • 创建一个扩展名为UDL的文件。示例:test.udl双击文件。使用GUI连接到数据库。完成后,使用记事本打开UDL文件并解压连接字符串。

    参考可见:https://www.dmxzone.com/go/312/how-to-generate-an-ado-connection-string/

    2019-12-06 20:11:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载