【发布时间】:2017-08-17 13:11:30
【问题描述】:
我正在尝试用 c# 编写一个工具,该工具将连接到 Oracle 数据库,并且我需要使用 ODBC。
如果我使用以下代码:
using System.Data.Odbc;
string str1 = "DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=abcd.efgh.net)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=service_name)));USER ID=user_id;PASSWORD=qassword";
OdbcConnection coon = new OdbcConnection();
coon.ConnectionString = str1;
coon.Open();
我收到错误消息:
An unhandled exception of type 'System.Data.Odbc.OdbcException' occurred in System.Data.dll
Additional information: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
即使我将连接字符串更改为:
string str2 = "Driver={Oracle in OraClient12home1};DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=abcd.efgh.net)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=service_name)));USER ID=user_id;PASSWORD=qassword";
我收到相同的错误消息。 所以我想问题不在于“Driver = {...}”部分?但是我在“数据源”部分做错了什么?
谢谢。
【问题讨论】:
-
您是否在运行应用程序的机器上配置了 ODBC 连接?
-
我用ODBC数据源管理器测试了连接,连接成功。这是你的意思吗?
-
您的应用程序的架构是什么,32 位 (x86) 还是 64 位 (x64)?它与您的Oracle客户端相同吗? ODBC 驱动程序?
-
看来我们的应用程序(Visual Studio)是 32 位的.....好吧,至少我有一些线索可以尝试。谢谢。