Is it possible to access a report from the Internet (in a non Windows Domain
context) without supplying any credentials. For instance, a user types in
this URL:
http://www.mydomain.com/ReportServer/Pages/ReportViewer.aspx?%2fMyFolder2%2fMyReport
and he/she woulnd not be prompted by a login dialog, and could simply view
the report.
I tried all sorts of different things (stored credentials in the datasource,
impersonating a user, etc.) from both BIDS and Report Manager, but I can't
seem to make it work. BTW, I can read the report just fine if I supply a
user name and password.
Thank you,
--
Alain Quesnel
alainsansspam@.logiquel.com
www.logiquel.comOn Dec 1, 4:12 pm, "Alain Quesnel" <alainsanss...@.logiquel.com> wrote:
> Is it possible to access a report from the Internet (in a non Windows Domain
> context) without supplying any credentials. For instance, a user types in
> this URL:http://www.mydomain.com/ReportServer/Pages/ReportViewer.aspx?%2fMyFol...
> and he/she woulnd not be prompted by a login dialog, and could simply view
> the report.
> I tried all sorts of different things (stored credentials in the datasource,
> impersonating a user, etc.) from both BIDS and Report Manager, but I can't
> seem to make it work. BTW, I can read the report just fine if I supply a
> user name and password.
> Thank you,
> --
> Alain Quesnel
> alainsanss...@.logiquel.com
> www.logiquel.com
The best option would be to use a report viewer control as part of a
custom ASP.NET application. A less desirable option would be to use
the Reporting Services Web Service to export the report and then allow
the user to view/download the report in that format (i.e., PDF, etc).
This link would help with this option.
http://msdn2.microsoft.com/en-us/library/microsoft.wssux.reportingserviceswebservice.rsexecutionservice2005.reportexecutionservice.render.aspx
Hope this helps.
Regards,
Enrique Martinez
Sr. Software Consultant|||If you are not doing as Enrique is suggesting (i.e. you have your own app
that is being interfaced to) then you have one very poor possibility.
If you make the web sites (via IIS) anonymous this will work. However, you
will then have NO admin capability because everyone is anonymous. You would
need to switch off anonymous access everytime you want to perform any
administrative work.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Alain Quesnel" <alainsansspam@.logiquel.com> wrote in message
news:ehPSPdGNIHA.4480@.TK2MSFTNGP06.phx.gbl...
> Is it possible to access a report from the Internet (in a non Windows
> Domain context) without supplying any credentials. For instance, a user
> types in this URL:
> http://www.mydomain.com/ReportServer/Pages/ReportViewer.aspx?%2fMyFolder2%2fMyReport
> and he/she woulnd not be prompted by a login dialog, and could simply view
> the report.
> I tried all sorts of different things (stored credentials in the
> datasource, impersonating a user, etc.) from both BIDS and Report Manager,
> but I can't seem to make it work. BTW, I can read the report just fine if
> I supply a user name and password.
> Thank you,
> --
> Alain Quesnel
> alainsansspam@.logiquel.com
> www.logiquel.com
>|||Do you know if this would work with MSSQL 2005 Express running on XP Pro? I
tried setting anonymous access on IIS, and when I try to open a report from
the Internet, I'm prompted with a login that has a greyed-out user name
(MachineName\Guest) and an empty password. I'm trying to get rid of the
login altogether.
--
Alain Quesnel
alainsansspam@.logiquel.com
www.logiquel.com
"Bruce L-C [MVP]" <bruce_lcNOSPAM@.hotmail.com> wrote in message
news:OsbHZzbNIHA.1212@.TK2MSFTNGP05.phx.gbl...
> If you are not doing as Enrique is suggesting (i.e. you have your own app
> that is being interfaced to) then you have one very poor possibility.
> If you make the web sites (via IIS) anonymous this will work. However, you
> will then have NO admin capability because everyone is anonymous. You
> would need to switch off anonymous access everytime you want to perform
> any administrative work.
>
> --
> Bruce Loehle-Conger
> MVP SQL Server Reporting Services
> "Alain Quesnel" <alainsansspam@.logiquel.com> wrote in message
> news:ehPSPdGNIHA.4480@.TK2MSFTNGP06.phx.gbl...
>> Is it possible to access a report from the Internet (in a non Windows
>> Domain context) without supplying any credentials. For instance, a user
>> types in this URL:
>> http://www.mydomain.com/ReportServer/Pages/ReportViewer.aspx?%2fMyFolder2%2fMyReport
>> and he/she woulnd not be prompted by a login dialog, and could simply
>> view the report.
>> I tried all sorts of different things (stored credentials in the
>> datasource, impersonating a user, etc.) from both BIDS and Report
>> Manager, but I can't seem to make it work. BTW, I can read the report
>> just fine if I supply a user name and password.
>> Thank you,
>> --
>> Alain Quesnel
>> alainsansspam@.logiquel.com
>> www.logiquel.com
>>
>|||Sorry, I don't know the answer to that.
Bruce Loehle-Conger
MVP SQL Server Reporting Services
"Alain Quesnel" <alainsansspam@.logiquel.com> wrote in message
news:efA1J9bNIHA.3852@.TK2MSFTNGP06.phx.gbl...
> Do you know if this would work with MSSQL 2005 Express running on XP Pro?
> I tried setting anonymous access on IIS, and when I try to open a report
> from the Internet, I'm prompted with a login that has a greyed-out user
> name (MachineName\Guest) and an empty password. I'm trying to get rid of
> the login altogether.
> --
> Alain Quesnel
> alainsansspam@.logiquel.com
> www.logiquel.com
>
> "Bruce L-C [MVP]" <bruce_lcNOSPAM@.hotmail.com> wrote in message
> news:OsbHZzbNIHA.1212@.TK2MSFTNGP05.phx.gbl...
>> If you are not doing as Enrique is suggesting (i.e. you have your own app
>> that is being interfaced to) then you have one very poor possibility.
>> If you make the web sites (via IIS) anonymous this will work. However,
>> you will then have NO admin capability because everyone is anonymous. You
>> would need to switch off anonymous access everytime you want to perform
>> any administrative work.
>>
>> --
>> Bruce Loehle-Conger
>> MVP SQL Server Reporting Services
>> "Alain Quesnel" <alainsansspam@.logiquel.com> wrote in message
>> news:ehPSPdGNIHA.4480@.TK2MSFTNGP06.phx.gbl...
>> Is it possible to access a report from the Internet (in a non Windows
>> Domain context) without supplying any credentials. For instance, a user
>> types in this URL:
>> http://www.mydomain.com/ReportServer/Pages/ReportViewer.aspx?%2fMyFolder2%2fMyReport
>> and he/she woulnd not be prompted by a login dialog, and could simply
>> view the report.
>> I tried all sorts of different things (stored credentials in the
>> datasource, impersonating a user, etc.) from both BIDS and Report
>> Manager, but I can't seem to make it work. BTW, I can read the report
>> just fine if I supply a user name and password.
>> Thank you,
>> --
>> Alain Quesnel
>> alainsansspam@.logiquel.com
>> www.logiquel.com
>>
>>
>
Showing posts with label credentials. Show all posts
Showing posts with label credentials. Show all posts
Thursday, March 22, 2012
Monday, March 19, 2012
Access 2000 FAILS to relink ODBC tables with correct credentials
i have an access 2000 db in which i dynamically relink the tables from
sqlserver 2000 depending on the user - some users having read only
permissions, others read/write etc.
however access 2000 DOES NOT relink correctly and after looking in
msysobjects in access, have found that it seems to cache the last login
name. needless to say this ruins any permissions i have set on
sqlserver.
an edit of the code is attached below:
step 1. delete attached tables - this works and clears out msysobjects
step 2. get tablenames from sql server as recordset - this works as
well.
step 3. reattach
ODBC_STR = "ODBC;DSN=BMTL;DATABASE=BMTL;UID=" & Usr & ";PWD=;"
Set dbsODBC = OpenDatabase("", False, False, ODBC_STR)
'rs(0) = tablename
Do While Not rs.EOF
Set td = CurrentDb.CreateTableDef(rs(0), dbAttachSavePWD)
td.Connect = dbsODBC.Connect
td.SourceTableName = dbsODBC.TableDefs("dbo." & rs(0)).Name
CurrentDb.TableDefs.Append td
CurrentDb.TableDefs.Refresh 'refresh link here hopefully
rs.MoveNext
Loop
'refresh just to be sure
CurrentDb.TableDefs.Refresh
'open msysobjects in access and all are linked on either the current
login or on some previously cached login - which it does is random.
is there some attribute or method i can call that will absolutely
refresh the odbc link on the table?
regards
Edwinah63
Probably not the cause of your issue, but, you should not use
currentdb() like that. Instead, you should cache it in a variable & use
the variable:
dim db as database
set db -= currentdb()
db.this ... db.that ... db.t'other
set db = nothing
To understand why, google all groups on "currentdb cache kaplan"
(without the quotes).
HTH,
TC
|||Also, you might want to check out the refreshlink method.
tabledefs.refresh refreshes the tables collection, which is not the
same thing.
HTH,
TC
|||You are using DAO methods on Application.CurrentDB, i.e.
Application.dbengine.workspaces(0).databases(0)
dbEngine caches ODBC connections. Since you do not wish
to use cached connections, you can (1) wait ~ 15 minutes
until the cached connections time out, or (2) Change
the timeout interval, or (3) Flush the connections by
closing the application and re-opening, or
(4) use a separate dbEngine object.
set dbe = createobject("dao.dbengine.36")
with a separate database object:
set db = dbe.opendatabase()
or (5) use ADO to create a separate dbengine object
I wouldn't do it that way anyhow: I'd use Windows security
for the read only users, and use 0 instead of dbAttachSavePWD
for those users.
(david)
"Edwinah63" <edwinah@.customercare.com.au> wrote in message
news:1128573589.087302.168780@.g43g2000cwa.googlegr oups.com...
>i have an access 2000 db in which i dynamically relink the tables from
> sqlserver 2000 depending on the user - some users having read only
> permissions, others read/write etc.
> however access 2000 DOES NOT relink correctly and after looking in
> msysobjects in access, have found that it seems to cache the last login
> name. needless to say this ruins any permissions i have set on
> sqlserver.
> an edit of the code is attached below:
> step 1. delete attached tables - this works and clears out msysobjects
> step 2. get tablenames from sql server as recordset - this works as
> well.
> step 3. reattach
> ODBC_STR = "ODBC;DSN=BMTL;DATABASE=BMTL;UID=" & Usr & ";PWD=;"
> Set dbsODBC = OpenDatabase("", False, False, ODBC_STR)
> 'rs(0) = tablename
> Do While Not rs.EOF
> Set td = CurrentDb.CreateTableDef(rs(0), dbAttachSavePWD)
> td.Connect = dbsODBC.Connect
> td.SourceTableName = dbsODBC.TableDefs("dbo." & rs(0)).Name
> CurrentDb.TableDefs.Append td
> CurrentDb.TableDefs.Refresh 'refresh link here hopefully
> rs.MoveNext
> Loop
> 'refresh just to be sure
> CurrentDb.TableDefs.Refresh
> 'open msysobjects in access and all are linked on either the current
> login or on some previously cached login - which it does is random.
> is there some attribute or method i can call that will absolutely
> refresh the odbc link on the table?
> regards
> Edwinah63
>
sqlserver 2000 depending on the user - some users having read only
permissions, others read/write etc.
however access 2000 DOES NOT relink correctly and after looking in
msysobjects in access, have found that it seems to cache the last login
name. needless to say this ruins any permissions i have set on
sqlserver.
an edit of the code is attached below:
step 1. delete attached tables - this works and clears out msysobjects
step 2. get tablenames from sql server as recordset - this works as
well.
step 3. reattach
ODBC_STR = "ODBC;DSN=BMTL;DATABASE=BMTL;UID=" & Usr & ";PWD=;"
Set dbsODBC = OpenDatabase("", False, False, ODBC_STR)
'rs(0) = tablename
Do While Not rs.EOF
Set td = CurrentDb.CreateTableDef(rs(0), dbAttachSavePWD)
td.Connect = dbsODBC.Connect
td.SourceTableName = dbsODBC.TableDefs("dbo." & rs(0)).Name
CurrentDb.TableDefs.Append td
CurrentDb.TableDefs.Refresh 'refresh link here hopefully
rs.MoveNext
Loop
'refresh just to be sure
CurrentDb.TableDefs.Refresh
'open msysobjects in access and all are linked on either the current
login or on some previously cached login - which it does is random.
is there some attribute or method i can call that will absolutely
refresh the odbc link on the table?
regards
Edwinah63
Probably not the cause of your issue, but, you should not use
currentdb() like that. Instead, you should cache it in a variable & use
the variable:
dim db as database
set db -= currentdb()
db.this ... db.that ... db.t'other
set db = nothing
To understand why, google all groups on "currentdb cache kaplan"
(without the quotes).
HTH,
TC
|||Also, you might want to check out the refreshlink method.
tabledefs.refresh refreshes the tables collection, which is not the
same thing.
HTH,
TC
|||You are using DAO methods on Application.CurrentDB, i.e.
Application.dbengine.workspaces(0).databases(0)
dbEngine caches ODBC connections. Since you do not wish
to use cached connections, you can (1) wait ~ 15 minutes
until the cached connections time out, or (2) Change
the timeout interval, or (3) Flush the connections by
closing the application and re-opening, or
(4) use a separate dbEngine object.
set dbe = createobject("dao.dbengine.36")
with a separate database object:
set db = dbe.opendatabase()
or (5) use ADO to create a separate dbengine object
I wouldn't do it that way anyhow: I'd use Windows security
for the read only users, and use 0 instead of dbAttachSavePWD
for those users.
(david)
"Edwinah63" <edwinah@.customercare.com.au> wrote in message
news:1128573589.087302.168780@.g43g2000cwa.googlegr oups.com...
>i have an access 2000 db in which i dynamically relink the tables from
> sqlserver 2000 depending on the user - some users having read only
> permissions, others read/write etc.
> however access 2000 DOES NOT relink correctly and after looking in
> msysobjects in access, have found that it seems to cache the last login
> name. needless to say this ruins any permissions i have set on
> sqlserver.
> an edit of the code is attached below:
> step 1. delete attached tables - this works and clears out msysobjects
> step 2. get tablenames from sql server as recordset - this works as
> well.
> step 3. reattach
> ODBC_STR = "ODBC;DSN=BMTL;DATABASE=BMTL;UID=" & Usr & ";PWD=;"
> Set dbsODBC = OpenDatabase("", False, False, ODBC_STR)
> 'rs(0) = tablename
> Do While Not rs.EOF
> Set td = CurrentDb.CreateTableDef(rs(0), dbAttachSavePWD)
> td.Connect = dbsODBC.Connect
> td.SourceTableName = dbsODBC.TableDefs("dbo." & rs(0)).Name
> CurrentDb.TableDefs.Append td
> CurrentDb.TableDefs.Refresh 'refresh link here hopefully
> rs.MoveNext
> Loop
> 'refresh just to be sure
> CurrentDb.TableDefs.Refresh
> 'open msysobjects in access and all are linked on either the current
> login or on some previously cached login - which it does is random.
> is there some attribute or method i can call that will absolutely
> refresh the odbc link on the table?
> regards
> Edwinah63
>
Labels:
access,
credentials,
database,
depending,
dynamically,
fails,
fromsqlserver,
microsoft,
mysql,
odbc,
onlypermissions,
oracle,
relink,
server,
sql,
tables,
user,
users
Access 2000 FAILS to relink ODBC tables with correct credentials
i have an access 2000 db in which i dynamically relink the tables from
sqlserver 2000 depending on the user - some users having read only
permissions, others read/write etc.
however access 2000 DOES NOT relink correctly and after looking in
msysobjects in access, have found that it seems to cache the last login
name. needless to say this ruins any permissions i have set on
sqlserver.
an edit of the code is attached below:
step 1. delete attached tables - this works and clears out msysobjects
step 2. get tablenames from sql server as recordset - this works as
well.
step 3. reattach
ODBC_STR = "ODBC;DSN=BMTL;DATABASE=BMTL;UID=" & Usr & ";PWD=;"
Set dbsODBC = OpenDatabase("", False, False, ODBC_STR)
'rs(0) = tablename
Do While Not rs.EOF
Set td = CurrentDb.CreateTableDef(rs(0), dbAttachSavePWD)
td.Connect = dbsODBC.Connect
td.SourceTableName = dbsODBC.TableDefs("dbo." & rs(0)).Name
CurrentDb.TableDefs.Append td
CurrentDb.TableDefs.Refresh 'refresh link here hopefully
rs.MoveNext
Loop
'refresh just to be sure
CurrentDb.TableDefs.Refresh
'open msysobjects in access and all are linked on either the current
login or on some previously cached login - which it does is random.
is there some attribute or method i can call that will absolutely
refresh the odbc link on the table?
regards
Edwinah63Probably not the cause of your issue, but, you should not use
currentdb() like that. Instead, you should cache it in a variable & use
the variable:
dim db as database
set db -= currentdb()
db.this ... db.that ... db.t'other
set db = nothing
To understand why, google all groups on "currentdb cache kaplan"
(without the quotes).
HTH,
TC|||Also, you might want to check out the refreshlink method.
tabledefs.refresh refreshes the tables collection, which is not the
same thing.
HTH,
TC|||You are using DAO methods on Application.CurrentDB, i.e.
Application.dbengine.workspaces(0).databases(0)
dbEngine caches ODBC connections. Since you do not wish
to use cached connections, you can (1) wait ~ 15 minutes
until the cached connections time out, or (2) Change
the timeout interval, or (3) Flush the connections by
closing the application and re-opening, or
(4) use a separate dbEngine object.
set dbe = createobject("dao.dbengine.36")
with a separate database object:
set db = dbe.opendatabase()
or (5) use ADO to create a separate dbengine object
I wouldn't do it that way anyhow: I'd use Windows security
for the read only users, and use 0 instead of dbAttachSavePWD
for those users.
(david)
"Edwinah63" <edwinah@.customercare.com.au> wrote in message
news:1128573589.087302.168780@.g43g2000cwa.googlegroups.com...
>i have an access 2000 db in which i dynamically relink the tables from
> sqlserver 2000 depending on the user - some users having read only
> permissions, others read/write etc.
> however access 2000 DOES NOT relink correctly and after looking in
> msysobjects in access, have found that it seems to cache the last login
> name. needless to say this ruins any permissions i have set on
> sqlserver.
> an edit of the code is attached below:
> step 1. delete attached tables - this works and clears out msysobjects
> step 2. get tablenames from sql server as recordset - this works as
> well.
> step 3. reattach
> ODBC_STR = "ODBC;DSN=BMTL;DATABASE=BMTL;UID=" & Usr & ";PWD=;"
> Set dbsODBC = OpenDatabase("", False, False, ODBC_STR)
> 'rs(0) = tablename
> Do While Not rs.EOF
> Set td = CurrentDb.CreateTableDef(rs(0), dbAttachSavePWD)
> td.Connect = dbsODBC.Connect
> td.SourceTableName = dbsODBC.TableDefs("dbo." & rs(0)).Name
> CurrentDb.TableDefs.Append td
> CurrentDb.TableDefs.Refresh 'refresh link here hopefully
> rs.MoveNext
> Loop
> 'refresh just to be sure
> CurrentDb.TableDefs.Refresh
> 'open msysobjects in access and all are linked on either the current
> login or on some previously cached login - which it does is random.
> is there some attribute or method i can call that will absolutely
> refresh the odbc link on the table?
> regards
> Edwinah63
>
sqlserver 2000 depending on the user - some users having read only
permissions, others read/write etc.
however access 2000 DOES NOT relink correctly and after looking in
msysobjects in access, have found that it seems to cache the last login
name. needless to say this ruins any permissions i have set on
sqlserver.
an edit of the code is attached below:
step 1. delete attached tables - this works and clears out msysobjects
step 2. get tablenames from sql server as recordset - this works as
well.
step 3. reattach
ODBC_STR = "ODBC;DSN=BMTL;DATABASE=BMTL;UID=" & Usr & ";PWD=;"
Set dbsODBC = OpenDatabase("", False, False, ODBC_STR)
'rs(0) = tablename
Do While Not rs.EOF
Set td = CurrentDb.CreateTableDef(rs(0), dbAttachSavePWD)
td.Connect = dbsODBC.Connect
td.SourceTableName = dbsODBC.TableDefs("dbo." & rs(0)).Name
CurrentDb.TableDefs.Append td
CurrentDb.TableDefs.Refresh 'refresh link here hopefully
rs.MoveNext
Loop
'refresh just to be sure
CurrentDb.TableDefs.Refresh
'open msysobjects in access and all are linked on either the current
login or on some previously cached login - which it does is random.
is there some attribute or method i can call that will absolutely
refresh the odbc link on the table?
regards
Edwinah63Probably not the cause of your issue, but, you should not use
currentdb() like that. Instead, you should cache it in a variable & use
the variable:
dim db as database
set db -= currentdb()
db.this ... db.that ... db.t'other
set db = nothing
To understand why, google all groups on "currentdb cache kaplan"
(without the quotes).
HTH,
TC|||Also, you might want to check out the refreshlink method.
tabledefs.refresh refreshes the tables collection, which is not the
same thing.
HTH,
TC|||You are using DAO methods on Application.CurrentDB, i.e.
Application.dbengine.workspaces(0).databases(0)
dbEngine caches ODBC connections. Since you do not wish
to use cached connections, you can (1) wait ~ 15 minutes
until the cached connections time out, or (2) Change
the timeout interval, or (3) Flush the connections by
closing the application and re-opening, or
(4) use a separate dbEngine object.
set dbe = createobject("dao.dbengine.36")
with a separate database object:
set db = dbe.opendatabase()
or (5) use ADO to create a separate dbengine object
I wouldn't do it that way anyhow: I'd use Windows security
for the read only users, and use 0 instead of dbAttachSavePWD
for those users.
(david)
"Edwinah63" <edwinah@.customercare.com.au> wrote in message
news:1128573589.087302.168780@.g43g2000cwa.googlegroups.com...
>i have an access 2000 db in which i dynamically relink the tables from
> sqlserver 2000 depending on the user - some users having read only
> permissions, others read/write etc.
> however access 2000 DOES NOT relink correctly and after looking in
> msysobjects in access, have found that it seems to cache the last login
> name. needless to say this ruins any permissions i have set on
> sqlserver.
> an edit of the code is attached below:
> step 1. delete attached tables - this works and clears out msysobjects
> step 2. get tablenames from sql server as recordset - this works as
> well.
> step 3. reattach
> ODBC_STR = "ODBC;DSN=BMTL;DATABASE=BMTL;UID=" & Usr & ";PWD=;"
> Set dbsODBC = OpenDatabase("", False, False, ODBC_STR)
> 'rs(0) = tablename
> Do While Not rs.EOF
> Set td = CurrentDb.CreateTableDef(rs(0), dbAttachSavePWD)
> td.Connect = dbsODBC.Connect
> td.SourceTableName = dbsODBC.TableDefs("dbo." & rs(0)).Name
> CurrentDb.TableDefs.Append td
> CurrentDb.TableDefs.Refresh 'refresh link here hopefully
> rs.MoveNext
> Loop
> 'refresh just to be sure
> CurrentDb.TableDefs.Refresh
> 'open msysobjects in access and all are linked on either the current
> login or on some previously cached login - which it does is random.
> is there some attribute or method i can call that will absolutely
> refresh the odbc link on the table?
> regards
> Edwinah63
>
Labels:
access,
credentials,
database,
depending,
dynamically,
fails,
fromsqlserver,
microsoft,
mysql,
odbc,
onlypermissions,
oracle,
relink,
server,
sql,
tables,
user,
users
Subscribe to:
Posts (Atom)