Исключение объекта OldeDb в C# - PullRequest
0 голосов
/ 13 января 2020

Это исключение было первоначально сгенерировано в этом стеке вызовов:

System.Data.OleDb.OleDbConnectionInternal.OleDbConnectionInternal(System.Data.OleDb.OleDbConnectionString, System.Data.OleDb.OleDbConnection)
    System.Data.OleDb.OleDbConnectionFactory.CreateConnection(System.Data.Common.DbConnectionOptions, System.Data.Common.DbConnectionPoolKey, object, System.Data.ProviderBase.DbConnectionPool, System.Data.Common.DbConnection)
    System.Data.ProviderBase.DbConnectionFactory.CreateConnection(System.Data.Common.DbConnectionOptions, System.Data.Common.DbConnectionPoolKey, object, System.Data.ProviderBase.DbConnectionPool, System.Data.Common.DbConnection, System.Data.Common.DbConnectionOptions)
    System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(System.Data.Common.DbConnection, System.Data.ProviderBase.DbConnectionPoolGroup, System.Data.Common.DbConnectionOptions)
    System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(System.Data.Common.DbConnection, System.Threading.Tasks.TaskCompletionSource<System.Data.ProviderBase.DbConnectionInternal>, System.Data.Common.DbConnectionOptions, System.Data.ProviderBase.DbConnectionInternal, out System.Data.ProviderBase.DbConnectionInternal)
    System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(System.Data.Common.DbConnection, System.Data.ProviderBase.DbConnectionFactory, System.Threading.Tasks.TaskCompletionSource<System.Data.ProviderBase.DbConnectionInternal>, System.Data.Common.DbConnectionOptions)
    System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(System.Data.Common.DbConnection, System.Data.ProviderBase.DbConnectionFactory, System.Threading.Tasks.TaskCompletionSource<System.Data.ProviderBase.DbConnectionInternal>, System.Data.Common.DbConnectionOptions)
    System.Data.ProviderBase.DbConnectionInternal.OpenConnection(System.Data.Common.DbConnection, System.Data.ProviderBase.DbConnectionFactory)
    System.Data.OleDb.OleDbConnection.Open()
    WindowsFormsApp1.DB_Connect.DB_Fields() in DB_Connect.cs
    ...
    [Call Stack Truncated]

Это работало До вчерашнего дня, теперь это не работает, может кто-то, пожалуйста, подскажите мне, что не так в следующем код:

public static string[] DB_Fields()
{

String[] s = new string[21];
int i = 0, res1;
string s1 = "-";

            string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\Mu\Desktop\9-50070_000018.csv;" + @"Extended Properties='Excel 8.0;HDR=No;'";
            using (OleDbConnection connection = new OleDbConnection(con))
            {
                connection.Open();
                OleDbCommand command = new OleDbCommand("select * from [9-50070_000018.csv$]", connection);
                using (OleDbDataReader dr = command.ExecuteReader())
                {
                    while (dr.Read())
                    {
                        var data = dr[0];
                        //Console.WriteLine(data);
                        res1 = Strings.InStr(data.ToString(), s1, CompareMethod.Text);
                        //MessageBox.Show(res1.ToString());
                        //MessageBox.Show(data.ToString());
                        if (res1 == 0)
                        {
                            s[i] = data.ToString();
                            i++;
                        }
                        else
                        {
                            break;
                        }
                    }
                }
            }
            return s;
        }
...