将 Odbc 引用添加到我的应用程序

3

我正在使用Visual Studio 2013通过ODBC连接到MySql数据库。但是,在我的项目中找不到System.Data.Odbc的引用。我一直收到这个异常:

 System.Data.Odbc.OdbcException (0x80131937): ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
   at System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode)
   at System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle)
   at System.Data.Odbc.OdbcConnectionOpen..ctor(OdbcConnection outerConnection, OdbcConnectionString connectionOptions)
   at System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
   at System.Data.ProviderBase.DbConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningCo
nnection, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, Db
ConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions use
rOptions)
   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionInternal.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.Odbc.OdbcConnection.Open()
   at DbConnection.Program.Main(String[] args) in C:\Users\ankur_agrawal\AppData\Local\Temporary Projects\DbConnection\Program.cs:line 17System.InvalidOperationException: ExecuteReader requires an ope
n and available Connection. The connection's current state is closed.
   at System.Data.Odbc.OdbcConnection.SetStateExecuting(String method, OdbcTransaction transaction)
   at System.Data.Odbc.OdbcCommand.ValidateConnectionAndTransaction(String method)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
   at System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
   at System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)

我已经编写的代码是:

我写的代码是


namespace DB
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Program p = new Program();
                OdbcConnection con = new OdbcConnection("DRIVER={MySQL ODBC 3.51 Driver};SERVER=localhost;USER=root;PASSWORD=root;DATABASE=employee");
                OdbcCommand cmd = new OdbcCommand("select * from emplpoyee", con);
                con.Open();
                OdbcDataReader reader = cmd.ExecuteReader();
                reader.Close();
            }

            catch (Exception e)
            {
                Console.Write(e);
            }

            Console.ReadKey();
        }
    }
}

你正在使用哪个版本的MySQL?你必须使用Driver部分吗?这个链接建议使用像Driver={MySQL ODBC 5.2 UNICODE Driver}或者Driver={MySQL ODBC 5.2 ANSI Driver}这样的内容。 - Soner Gönül
做了那个,仍然出现异常。 - Sanjana
你安装了这个http://dev.mysql.com/downloads/connector/odbc/吗? - hazjack
1个回答

0

如果您正在使用WINDOWS-8,连接MYSQL DB时可能会遇到问题..为了解决这个问题,您应该运行Visual Studio以与Win7兼容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接