[ad_1]
やあ、
以下のコードを使用して、ExcelファイルからSQLテーブルにデータをインポートしようとしています
C++
public void ImportData() { // Connection String to Excel Workbook string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\stagingserver\abc\UPLOAD\MyFile.xls;Extended Properties=""Excel 8.0;HDR=YES;IMEX=1"""; OleDbConnection xlConn = new OleDbConnection(excelConnectionString); OleDbCommand xlCommand = new OleDbCommand("select col1, col2 from [Sheet1$]", xlConn); xlConn.Open(); using(DbDataReader dr = xlCommand.ExecuteReader()) { using(SqlBulkCopy copyData = new SqlBulkCopy(MYConnectionString)) { copyData.DestinationTableName = "MY_TABLE"; copyData.WriteToServer(dr); copyData.Close(); } dr.Close(); dr.Dispose(); } xlCommand.Dispose(); xlConn.Close(); xlConn.Dispose(); }
. これは私のローカルシステムからはうまくいきます。 サーバーから同じことを試みても、行は挿入されません。 エラーもありません…任意の考えをいただければ幸いです。
解決策 1
DTS パッケージを使用している場合は、ソースの Excel ファイルのファイル名を確認することをお勧めします。 ファイルはローカルに存在する可能性がありますが、サーバー上には存在しません。
幸運を!
解決策 2
EF に同意します インポート ファイルとフォーマット ファイルのパスを確認します (使用されている場合)。 ほとんどの場合、ローカルでは機能するがリモートでは機能しないものは、
A. パス
B. 接続文字列。
C. 権限。
サーバーにエラーがないということですか? サーバーログを確認することをお勧めします。
コマンドラインまたはコードでこれを行っていますか? コードに例外がなく、コマンド ラインで表示されないということですか?
[ad_2]
コメント