2

を使用して Excel ファイルを SQL Server にインポートしていますSqlBulkCopy

しかし、次のようなさまざまなエラーが発生するたびに

更新できません。データベースまたはオブジェクトが読み取り専用です。

また

インストール可能な ISAM が見つかりませんでした。

また

Microsoft Jet データベース エンジンはオブジェクトを見つけることができませんでした。オブジェクトが存在すること、およびその名前とパス名のつづりが正しいことを確認してください。

以下の私のコードを確認してください...

String strConnection = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;
string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+filepath+";Extended Properties=Excel 8.0;HDR=YES;";

//Create Connection to Excel work book
OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);

//Create OleDbCommand to fetch data from Excel
OleDbCommand cmd = new OleDbCommand
("Select * from [Sheet1$]",
excelConnection);
MessageBox.Show("ss");
excelConnection.Open();
MessageBox.Show("ss2");
OleDbDataReader dReader;
dReader = cmd.ExecuteReader();
MessageBox.Show("ss1");
SqlBulkCopy sqlBulk = new SqlBulkCopy(strConnection);
sqlBulk.DestinationTableName = "RecExcelTable";
//sqlBulk.ColumnMappings.Add("ID", "ID");
//sqlBulk.ColumnMappings.Add("Name", "Name");
sqlBulk.WriteToServer(dReader);

また、どのバージョンの Excel でもこのコードをコンパイルできるようにする必要があります。

どうすればそれを実行してエラーを解決できますか?

4

1 に答える 1

0

同様の問題がありました。ファイルパスが正しいことを確認してください

好き

C:\\file.xls

テストとして。

また、バージョンが正しいことも確認してください。8.0 はかなり古いですが、Office 2000 のようなものだと思います。

于 2012-10-17T02:44:03.307 に答える