Showing posts with label odbc. Show all posts
Showing posts with label odbc. Show all posts

Tuesday, March 27, 2012

Basic package is causing an error

I'm getting the following error message on a basic copy from a datareader (using an ODBC datasource) to a sqlnativeclient. There are no transformations or anything. Don't know what is going on. Any insights are appreciated.

[SQL Server Destination [361]] Error: An OLE DB error has occurred. Error code: 0x80040E14. An OLE DB record is available. Source: "Microsoft SQL Native Client" Hresult: 0x80040E14 Description: "Could not bulk load because SSIS file mapping object 'Global\DTSQLIMPORT ' could not be opened. Operating system error code 2(The system cannot find the file specified.). Make sure you are accessing a local server via Windows security.".

SQL Server Destination only works if the server you are inserting to is the same server that you are running SSIS on. Otherise you get the message that you are seeing.

-Jamie

|||

Jamie Thomson wrote:

SQL Server Destination only works if the server you are inserting to is the same server that you are running SSIS on. Otherise you get the message that you are seeing.

-Jamie

jamie is correct. you can use the ole db destination instead.

btw, in her ssis webcast, joy mundy said that the ole db destination outperforms the sql server destination (in most cases).

|||

Duane Douglas wrote:

Jamie Thomson wrote:

SQL Server Destination only works if the server you are inserting to is the same server that you are running SSIS on. Otherise you get the message that you are seeing.

-Jamie

jamie is correct. you can use the ole db destination instead.

btw, in her ssis webcast, joy mundy said that the ole db destination outperforms the sql server destination (in most cases).

Really? Then Joy Mundy is wrong. Please could you send me a link to the webcast, I need to check this out?

Regards

Jamie

|||Thank you Jamie and Duane. Makes sense, but I didn't realize you had to use OLE DB for non-local connections. I'll go that route.|||

OLE DB Destination is the "default" destination for any relational database table. The SQL Server Destination is an optional extra that can be used in very specific circumstances.

Personally I think the name "SQL Server Destination" confuses people. They see it and automatically think it should be used when inserting into SQL Server and that is not the case. In Microsoft's defence it does say this very very clearly in the documentation.

-Jamie

|||I'm sure it is documented, but as often happens in life I have to fly by the seat of my pants learning as I go for a quick solution to a problem. No time to actually learn the product till later. Again, the help is greatly appreciated.|||

Jamie Thomson wrote:

Duane Douglas wrote:

Jamie Thomson wrote:

SQL Server Destination only works if the server you are inserting to is the same server that you are running SSIS on. Otherise you get the message that you are seeing.

-Jamie

jamie is correct. you can use the ole db destination instead.

btw, in her ssis webcast, joy mundy said that the ole db destination outperforms the sql server destination (in most cases).

Really? Then Joy Mundy is wrong. Please could you send me a link to the webcast, I need to check this out?

Regards

Jamie

jamie,

here's the link to joy's webcast: http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?EventID=1032297072&EventCategory=5&culture=en-US&CountryCode=US

|||

Jamie Thomson wrote:

Personally I think the name "SQL Server Destination" confuses people. They see it and automatically think it should be used when inserting into SQL Server and that is not the case. In Microsoft's defence it does say this very very clearly in the documentation.

-Jamie

i agree. "local sql server destination" might be a more appropriate title.sql

Tuesday, March 20, 2012

Bandwidth Required For ODBC Access

Hi,
I need to setup an ODBC link over our Internet connection between MS Access
(local) and a mysql server (Remote - the local PC has the mysql ODBC driver
installed). What kind of bandwidth requirements am I looking at? Will it
function over a 64k leased line? If this would be slow, could there be any
major impact on other uses such as web and email?
Regards,
DominicIn message <c08fh8$fmc$1$8300dec7@.news.demon.co.uk>, Dominic Martin
<dominic.martin@.dplm.co.uk> writes
>Hi,
>I need to setup an ODBC link over our Internet connection between MS Access
>(local) and a mysql server (Remote - the local PC has the mysql ODBC driver
>installed). What kind of bandwidth requirements am I looking at? Will it
>function over a 64k leased line? If this would be slow, could there be any
>major impact on other uses such as web and email?
It's certainly feasible to run an ODBC connection over a 64k link, and I
have done so. You haven't really given enough information to answer the
question. You need to know how many data requests will be issued and how
much data will have to be retrieved for each request.
You may need to consider the time distribution of the requests, will
they all occur at the same time? How long are the users willing to wait
for their data? What else will be using the line at the same time? Will
those users be prepared to wait for their data?
Bernard Peek
London, UK. DBA, Manager, Trainer & Author. Will work for money.|||"Bernard Peek" <bap@.shrdlu.com> wrote in message
> It's certainly feasible to run an ODBC connection over a 64k link, and I
> have done so. You haven't really given enough information to answer the
> question. You need to know how many data requests will be issued and how
> much data will have to be retrieved for each request.
> You may need to consider the time distribution of the requests, will
> they all occur at the same time? How long are the users willing to wait
> for their data? What else will be using the line at the same time? Will
> those users be prepared to wait for their data?
>
Thank you for your response. The ODBC access will supplement web based
access, where the web server will be on the same local network as the MySQL
server. The web access will be used mostly for simple queries. The ODBC
access is to be used for more complex ad-hoc queries. So in answer to your
questions, only one person is ever likely to access the mysql database via
ODBC at a time. The reports do not need to be done instantly, so time is not
too much of a worry.
I'm assuming that these are all good answers. What number of users and level
of data did you pass over the 64k link?
Dominic

> Bernard Peek
> London, UK. DBA, Manager, Trainer & Author. Will work for money.
>|||In message <c08skf$b2a$1$8300dec7@.news.demon.co.uk>, Dominic Martin
<dominic.martin@.dplm.co.uk> writes
>"Bernard Peek" <bap@.shrdlu.com> wrote in message
>Thank you for your response. The ODBC access will supplement web based
>access, where the web server will be on the same local network as the MySQL
>server. The web access will be used mostly for simple queries. The ODBC
>access is to be used for more complex ad-hoc queries. So in answer to your
>questions, only one person is ever likely to access the mysql database via
>ODBC at a time. The reports do not need to be done instantly, so time is no
t
>too much of a worry.
>I'm assuming that these are all good answers. What number of users and leve
l
>of data did you pass over the 64k link?
You can work out the data capacity of the link by looking at the
structure of the tables returned and the number of records retrieved.
The number of users isn't important, just the amount of data they use.
That's very difficult to predict with ad hoc reports. Either the person
creating the reports needs to understand the bandwidth they have
available or you have to find a way of saving bandwidth. Have you
considered replicating the mysql database to a local server?
Bernard Peek
London, UK. DBA, Manager, Trainer & Author. Will work for money.|||I have done some work on a database using ODBC over a 64K leased line. The
people paying the bills thought it was "acceptable", but the actual users
thought it abominable. The users didn't find it acceptable until the lines
(one each to three separate user locations) were upgraded from 64KB to T-1
(which is about 1.5MB, as I recall).
A better-written application would have performed better, but the same
people paying the bills wouldn't pay for some obvious improvements, such as
opening the main/first form on a single record rather than on an entire
15,000 record table. But only parts of the app were so poorly
designed/implemented.
Larry Linson
Microsoft Access MVP|||I have done so over ADSL lines (128k upload).
Adhoc queries that returned resonable amounts of data felt OK to me. The
important point is to send the query to the server and have it do the grunt
work - avoiding queries where raw data is returned to Access while it does
the grunt work. However the typical Access form performed substantially
worst - edge of usability.
When you try going long distances or overseas (large latency in the
internet - distance being defined as #routers, hops etc. as opposed to miles
per-se) then things become very bad, because by default Access does not take
care to minimize the amount of round-tripping. So the time is multiple
latency plus data transfer.
"Dominic Martin" <dominic.martin@.dplm.co.uk> wrote in message
news:c08fh8$fmc$1$8300dec7@.news.demon.co.uk...
> Hi,
> I need to setup an ODBC link over our Internet connection between MS
Access
> (local) and a mysql server (Remote - the local PC has the mysql ODBC
driver
> installed). What kind of bandwidth requirements am I looking at? Will it
> function over a 64k leased line? If this would be slow, could there be any
> major impact on other uses such as web and email?
> Regards,
> Dominic
>|||"Bernard Peek" <bap@.shrdlu.com> wrote in message
news:I2QLbrERt$JAFwgF@.shrdlu.com...
> In message <c08skf$b2a$1$8300dec7@.news.demon.co.uk>, Dominic Martin
> <dominic.martin@.dplm.co.uk> writes
I
how
MySQL
your
via
not
level
> You can work out the data capacity of the link by looking at the
> structure of the tables returned and the number of records retrieved.
> The number of users isn't important, just the amount of data they use.
> That's very difficult to predict with ad hoc reports. Either the person
> creating the reports needs to understand the bandwidth they have
> available or you have to find a way of saving bandwidth. Have you
> considered replicating the mysql database to a local server?
>
Yes, but the mysql server is a hosted solution, so we're limited in the ways
that we can get hold of the data. It's either CSV copies of the tables or
the ODBC read only link to the live data. Apart from setting up a SQL server
locally, I'm not sure what else we would need to do. Are you suggesting that
the local SQL server would use ODBC just to make straight copies of the data
or that we would have to download and manually import the CSV files? Under
the latter, it is more likely that we would just import the CSV files
directly into MS Access.
When you say you can work out the data capacity of the link, is there a
rough formula that can be applied. i.e. a certain number of records from a
certain number of tables would require x amount of bandwidth?
Thank you for your continuing help.
Dominic

> --
> Bernard Peek
> London, UK. DBA, Manager, Trainer & Author. Will work for money.
>|||"User" <User@.aol.com> wrote in message
news:OWEP6Y57DHA.2656@.TK2MSFTNGP11.phx.gbl...
> I have done so over ADSL lines (128k upload).
> Adhoc queries that returned resonable amounts of data felt OK to me. The
> important point is to send the query to the server and have it do the
grunt
> work - avoiding queries where raw data is returned to Access while it does
> the grunt work. However the typical Access form performed substantially
> worst - edge of usability.
Thank you for your comments. How do you ensure that the query is sent to the
server to do the work and not have the raw data returned to Access? Is it
something that you have to build into the query?
Dominic

> When you try going long distances or overseas (large latency in the
> internet - distance being defined as #routers, hops etc. as opposed to
miles
> per-se) then things become very bad, because by default Access does not
take
> care to minimize the amount of round-tripping. So the time is multiple
> latency plus data transfer.
>
> "Dominic Martin" <dominic.martin@.dplm.co.uk> wrote in message
> news:c08fh8$fmc$1$8300dec7@.news.demon.co.uk...
> Access
> driver
any
>|||In message <c0a2mq$onm$1$8300dec7@.news.demon.co.uk>, Dominic Martin
<dominic.martin@.dplm.co.uk> writes

>Yes, but the mysql server is a hosted solution, so we're limited in the way
s
>that we can get hold of the data. It's either CSV copies of the tables or
>the ODBC read only link to the live data. Apart from setting up a SQL serve
r
>locally, I'm not sure what else we would need to do. Are you suggesting tha
t
>the local SQL server would use ODBC just to make straight copies of the dat
a
>or that we would have to download and manually import the CSV files? Under
>the latter, it is more likely that we would just import the CSV files
>directly into MS Access.
MySQL supports replication, so that any changes to a master database are
automatically copied to a slave database. You would keep the master
database on the server and run all of your queries against the slave
kept on your own site. You need to talk to your hosting provider about
that, they may have other customers doing the same thing.
If your data changes slowly it may be OK to copy the data to CVS files
once per day and to copy them when the 64k bandwidth isn't being used
for anything else, perhaps overnight. That way you could run queries
against a database that is less than 24 hours old and not need to use
bandwidth during the day.

>When you say you can work out the data capacity of the link, is there a
>rough formula that can be applied. i.e. a certain number of records from a
>certain number of tables would require x amount of bandwidth?
The amount of data to transfer depends on the size of the records. List
the fields in each table and determine the number of bytes required for
each of them. Multiply that by the number of records retrieved. Decide
how long it will take to transfer that data over a 64Kbit (8Kbyte) per
second link. Take account of other people using the same link for other
purposes.
Bernard Peek
London, UK. DBA, Manager, Trainer & Author. Will work for money.

Sunday, February 12, 2012

backup transaction log fail

'QDB Backup Maintenace'
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 5070:
[Microsoft][ODBC SQL Server Driver][SQL Server]Database
state cannot be changed while other users are using the
database 'QDB'
[Microsoft][ODBC SQL Server Driver][SQL Server]ALTER
DATABASE statement failed.
[Microsoft][ODBC SQL Server Driver][SQL Server]sp_dboption
command failed.
[1] Database QDB: Check Data and Index Linkage...
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 7919:
[Microsoft][ODBC SQL Server Driver][SQL Server]Repair
statement not processed. Database needs to be in single
user mode.
I can do complete backup and integrity success in the plan
but the transaciton log backup and check data and index
link keep failing. Please help
Thanks
Steve
If you had not guessed/determined the problem, this error points to the =
issue:
Database state cannot be changed while other users are using the =
database 'QDB'
Are you using a maintenance plan to do whatever it is that you are =
trying to do? Maintenance plans can help, but they are also a pain =
because you have to know what each checkbox does and how all the options =
work together. It has been my experience that maintenance plans do not =
always work as expected. Because of this I use jobs that I create and =
schedule as needed. =20
Are you backing up your transaction log during the day, or only at night =
as part of the maintenance plan? If you are only backing it up during =
the night (when avtivity is low) and not during the day (when =
transaction activity is high) you are not really protecting yourself =
from a failure. You should look into a "proper" backup plan ASAP! =20
I would recommend performing the transaction log backup(s) as often as =
necessary within a separate job that you can schedule to run as often as =
you want during the day.
You can then put some DBCC statements (such as CHECKDB, CHECKCATALOG, =
UPDATEUSAGE) into a separate job that you can schedule for some time =
when activity on the server is low.
--=20
Keith
"Steve C." <anonymous@.discussions.microsoft.com> wrote in message =
news:22d501c44fd1$cf818e70$3501280a@.phx.gbl...
> 'QDB Backup Maintenace'=20
> [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 5070:=20
> [Microsoft][ODBC SQL Server Driver][SQL Server]Database=20
> state cannot be changed while other users are using the=20
> database 'QDB'
> [Microsoft][ODBC SQL Server Driver][SQL Server]ALTER=20
> DATABASE statement failed.
> [Microsoft][ODBC SQL Server Driver][SQL Server]sp_dboption=20
> command failed.
> [1] Database QDB: Check Data and Index Linkage...
> [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 7919:=20
> [Microsoft][ODBC SQL Server Driver][SQL Server]Repair=20
> statement not processed. Database needs to be in single=20
> user mode.
>=20
> I can do complete backup and integrity success in the plan=20
> but the transaciton log backup and check data and index=20
> link keep failing. Please help=20
>=20
> Thanks
>=20
> Steve

backup transaction log fail

'QDB Backup Maintenace'
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 5070:
[Microsoft][ODBC SQL Server Driver][SQL Server]Database
state cannot be changed while other users are using the
database 'QDB'
[Microsoft][ODBC SQL Server Driver][SQL Server]ALTER
DATABASE statement failed.
[Microsoft][ODBC SQL Server Driver][SQL Server]sp_dboption
command failed.
[1] Database QDB: Check Data and Index Linkage...
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 7919:
[Microsoft][ODBC SQL Server Driver][SQL Server]Repair
statement not processed. Database needs to be in single
user mode.
I can do complete backup and integrity success in the plan
but the transaciton log backup and check data and index
link keep failing. Please help
Thanks
SteveIf you had not guessed/determined the problem, this error points to the =
issue:
Database state cannot be changed while other users are using the =
database 'QDB'
Are you using a maintenance plan to do whatever it is that you are =
trying to do? Maintenance plans can help, but they are also a pain =
because you have to know what each checkbox does and how all the options =
work together. It has been my experience that maintenance plans do not =
always work as expected. Because of this I use jobs that I create and =
schedule as needed. =20
Are you backing up your transaction log during the day, or only at night =
as part of the maintenance plan? If you are only backing it up during =
the night (when avtivity is low) and not during the day (when =
transaction activity is high) you are not really protecting yourself =
from a failure. You should look into a "proper" backup plan ASAP! =20
I would recommend performing the transaction log backup(s) as often as =
necessary within a separate job that you can schedule to run as often as =
you want during the day.
You can then put some DBCC statements (such as CHECKDB, CHECKCATALOG, =
UPDATEUSAGE) into a separate job that you can schedule for some time =
when activity on the server is low.
--=20
Keith
"Steve C." <anonymous@.discussions.microsoft.com> wrote in message =
news:22d501c44fd1$cf818e70$3501280a@.phx.gbl...
> 'QDB Backup Maintenace'=20
> [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 5070:=20
> [Microsoft][ODBC SQL Server Driver][SQL Server]Database=20
> state cannot be changed while other users are using the=20
> database 'QDB'
> [Microsoft][ODBC SQL Server Driver][SQL Server]ALTER=20
> DATABASE statement failed.
> [Microsoft][ODBC SQL Server Driver][SQL Server]sp_dboption=20
> command failed.
> [1] Database QDB: Check Data and Index Linkage...
> [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 7919:=20
> [Microsoft][ODBC SQL Server Driver][SQL Server]Repair=20
> statement not processed. Database needs to be in single=20
> user mode.
>=20
> I can do complete backup and integrity success in the plan=20
> but the transaciton log backup and check data and index=20
> link keep failing. Please help=20
>=20
> Thanks
>=20
> Steve

backup transaction log fail

'QDB Backup Maintenace'
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 5070:
[Microsoft][ODBC SQL Server Driver][SQL Server]Database
state cannot be changed while other users are using the
database 'QDB'
[Microsoft][ODBC SQL Server Driver][SQL Server]ALTER
DATABASE statement failed.
[Microsoft][ODBC SQL Server Driver][SQL Server]sp_dboption
command failed.
[1] Database QDB: Check Data and Index Linkage...
[Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 7919:
[Microsoft][ODBC SQL Server Driver][SQL Server]Repair
statement not processed. Database needs to be in single
user mode.
I can do complete backup and integrity success in the plan
but the transaciton log backup and check data and index
link keep failing. Please help
Thanks
SteveIf you had not guessed/determined the problem, this error points to the =issue:
Database state cannot be changed while other users are using the =database 'QDB'
Are you using a maintenance plan to do whatever it is that you are =trying to do? Maintenance plans can help, but they are also a pain =because you have to know what each checkbox does and how all the options =work together. It has been my experience that maintenance plans do not =always work as expected. Because of this I use jobs that I create and =schedule as needed.
Are you backing up your transaction log during the day, or only at night =as part of the maintenance plan? If you are only backing it up during =the night (when avtivity is low) and not during the day (when =transaction activity is high) you are not really protecting yourself =from a failure. You should look into a "proper" backup plan ASAP!
I would recommend performing the transaction log backup(s) as often as =necessary within a separate job that you can schedule to run as often as =you want during the day.
You can then put some DBCC statements (such as CHECKDB, CHECKCATALOG, =UPDATEUSAGE) into a separate job that you can schedule for some time =when activity on the server is low.
-- Keith
"Steve C." <anonymous@.discussions.microsoft.com> wrote in message =news:22d501c44fd1$cf818e70$3501280a@.phx.gbl...
> 'QDB Backup Maintenace' > [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 5070: > [Microsoft][ODBC SQL Server Driver][SQL Server]Database > state cannot be changed while other users are using the > database 'QDB'
> [Microsoft][ODBC SQL Server Driver][SQL Server]ALTER > DATABASE statement failed.
> [Microsoft][ODBC SQL Server Driver][SQL Server]sp_dboption > command failed.
> [1] Database QDB: Check Data and Index Linkage...
> [Microsoft SQL-DMO (ODBC SQLState: 42000)] Error 7919: > [Microsoft][ODBC SQL Server Driver][SQL Server]Repair > statement not processed. Database needs to be in single > user mode.
> > I can do complete backup and integrity success in the plan > but the transaciton log backup and check data and index > link keep failing. Please help > > Thanks
> > Steve