OPENROWSET not working unless file is open
I've been using OPENROWSET successfully for quite some time now, but now I've run into a problem I'm unable to solve. I'm running SQL Server 2017 Express.
I'm running the following query:
SET @SQL = '
INSERT INTO MyTable SELECT *
FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'',
''Excel 12.0; HDR=YES; FIRSTROW=1; FORMAT=CSV Database='+@filePath+''',
''SELECT * FROM [MyFile_'+@MonthNo+@YearNo+'$A1:I5000]'')'
exec (@SQL)
The error message I get is:
(0 rows affected)
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "External table is not in the expected format.".
Msg 7303, Level 16, State 1, Line 19
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
The file is a CSV (semi colon delimited) saved locally on the same machine as SQLServer is running.
The file itself is downloaded from a FTP share.
Now the tricky part - if I open the file in excel, and keep it open, and then run the query above, the import works just fine. Usually my problem is the other way around - if I have a file open I'm not able to import it, but that is not the case here.
Please note that I have several other files that I'm able to read in successfully using the same query.
Any help would be appreciated.
sql

add a comment |
I've been using OPENROWSET successfully for quite some time now, but now I've run into a problem I'm unable to solve. I'm running SQL Server 2017 Express.
I'm running the following query:
SET @SQL = '
INSERT INTO MyTable SELECT *
FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'',
''Excel 12.0; HDR=YES; FIRSTROW=1; FORMAT=CSV Database='+@filePath+''',
''SELECT * FROM [MyFile_'+@MonthNo+@YearNo+'$A1:I5000]'')'
exec (@SQL)
The error message I get is:
(0 rows affected)
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "External table is not in the expected format.".
Msg 7303, Level 16, State 1, Line 19
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
The file is a CSV (semi colon delimited) saved locally on the same machine as SQLServer is running.
The file itself is downloaded from a FTP share.
Now the tricky part - if I open the file in excel, and keep it open, and then run the query above, the import works just fine. Usually my problem is the other way around - if I have a file open I'm not able to import it, but that is not the case here.
Please note that I have several other files that I'm able to read in successfully using the same query.
Any help would be appreciated.
sql

add a comment |
I've been using OPENROWSET successfully for quite some time now, but now I've run into a problem I'm unable to solve. I'm running SQL Server 2017 Express.
I'm running the following query:
SET @SQL = '
INSERT INTO MyTable SELECT *
FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'',
''Excel 12.0; HDR=YES; FIRSTROW=1; FORMAT=CSV Database='+@filePath+''',
''SELECT * FROM [MyFile_'+@MonthNo+@YearNo+'$A1:I5000]'')'
exec (@SQL)
The error message I get is:
(0 rows affected)
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "External table is not in the expected format.".
Msg 7303, Level 16, State 1, Line 19
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
The file is a CSV (semi colon delimited) saved locally on the same machine as SQLServer is running.
The file itself is downloaded from a FTP share.
Now the tricky part - if I open the file in excel, and keep it open, and then run the query above, the import works just fine. Usually my problem is the other way around - if I have a file open I'm not able to import it, but that is not the case here.
Please note that I have several other files that I'm able to read in successfully using the same query.
Any help would be appreciated.
sql

I've been using OPENROWSET successfully for quite some time now, but now I've run into a problem I'm unable to solve. I'm running SQL Server 2017 Express.
I'm running the following query:
SET @SQL = '
INSERT INTO MyTable SELECT *
FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'',
''Excel 12.0; HDR=YES; FIRSTROW=1; FORMAT=CSV Database='+@filePath+''',
''SELECT * FROM [MyFile_'+@MonthNo+@YearNo+'$A1:I5000]'')'
exec (@SQL)
The error message I get is:
(0 rows affected)
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "External table is not in the expected format.".
Msg 7303, Level 16, State 1, Line 19
Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
The file is a CSV (semi colon delimited) saved locally on the same machine as SQLServer is running.
The file itself is downloaded from a FTP share.
Now the tricky part - if I open the file in excel, and keep it open, and then run the query above, the import works just fine. Usually my problem is the other way around - if I have a file open I'm not able to import it, but that is not the case here.
Please note that I have several other files that I'm able to read in successfully using the same query.
Any help would be appreciated.
sql

sql

asked Nov 20 '18 at 10:41
JectsonJectson
4429
4429
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53391203%2fopenrowset-not-working-unless-file-is-open%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53391203%2fopenrowset-not-working-unless-file-is-open%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown