MS Access Linked SharePoint Online Lists Connection String - ms-access

I have an MS Access app that has 2 linked lists from SharePoint Online. I iterate all tables on start up and Refresh the Links as I want to make sure the connection is good and also for if I want to point at a different SharePoint Online Instance, say for Dev or Test. This only works if I'm logged into SharePoint Online, so I want to change that so I don't get a prompt to log in. I've done this before with on premise SharePoint and the AD authentication is all you need, but SharePoint Online is not connected to AD and uses a completely different set of credentials.
My connections string looks like this if you view the List in Design from inside MS Access.
ACEWSS;HDR=NO;IMEX=2;ACCDB=YES;DATABASE=https://mycompany.sharepoint.com;LIST={AF7E4E8E-6E7D-4BEA-B856-F69BF58114A4};VIEW=; RetrieveIds=Yes;TABLE=spMyList;
Is it possible to add credentials to this connection string? I looked up on http://www.connectionstrings.com and they have example but nothing works. I tried User/Password and also uid/pwd but I still get that prompt.

The answer to this problem is to set the TableDef.Attributes Property to DB_ATTACHSAVEPWD just before the Connect and RefreshLink as shown below.
tblDef.Attributes = DB_ATTACHSAVEPWD
tblDef.Connect = strSQLAzureConnectionString
tblDef.RefreshLink

Related

How do I amend shared data source definitions after SSRS migration to a diff node?

Do not seem to be able to find any place in the portal or Report Builder where I can actually edit the connect string & creds.
Report Manager shows the XML, but that really is it.
Disk files (from the looks of it) are no longer present in high versions (using SQL 2016/2017).
Is there a known location anywhere in GUI, or maybe direct edits in the SQL Server repository?
I can't even delete a shared source anymore, only view or test the connection.
If anybody could post a screenshot, it'll be highly appreciated.
EDIT: Just found out - when I create a new Data Source, it's editable; the imported data sources are not.
There are two ways of doing this. You can set the 'overwrite datasource' option in the project properties.
Or, you can got to the report portal , show hidden items in the view menu and there is a folder called "data sources". Open this and you will see all data sources, from there you can edit and save changes. All reports that use that datasource will be affected.

account issues - invoke file through ssrs hyperlink

i have a hyperlink in one of the columns (in tablix) in an ssrs report which points to some server where a dump of documents reside..the hyperlink is appended with a doc_id which helps locate that doc and to invoke it from that server..now this works fine if the ssrs report runs with the current windows logged in user and when the same logged in user is also set up beforehand on that document server where the ssrs hyperlink points to..and this was in dev env..
going ahead in a controlled env, there would only be one system a/c which will be set up on that doc server and regardless of who the logged in windows user is who runs the report; access to the docs on that doc server will only be given to that sys a/c..so i passed this same sys a/c (which is set up on that doc server) in the data source in report mgr --> credentials stored securely in report server..and thought that these credentials will be
picked while navigating to that doc server and the doc would be opened..but this doesn't seem to happen and it doesn't invoke the document...says invalid credentials..so i think it's picking my logged in credentials here and not the ones of the sys a/c that i entered in data source...(pls note here, the doc server url doesn't contain the report server / report manager url components..it's a different url and is used to only open the doc..so i don't think i can pass user credentials to that url like &dsu:Datasourcename=username&dsp:Datasourcename=password..may be i am wrong and i can pass? but don't think that's secure even if it's an option?)
alternatively, i thought this could be achieved by changing the execution account to this system a/c, under reporting services config mgr..but then we only have ssrs client tools installed..so can't change server settings..and just for this one requirement, nobody would accept my request to change the execution account...also don't know if changing exec account is even a solution for this?
i hope the question is clear..please give some work arounds..i'm stumped and not getting required help anywhere..
note: as another work around, i asked if a group can be set up on that doc server..and when all the users accessing the report are added to the group, they can open the doc after navigating from ssrs report...but the idea giving access to a group was rejected...they can only give access to this sys a/c...

Hide MS ACCESS DB FILE

I am currently using an access DB with front and back end. When I want to allow new users to access the DB I add the user to the folder in which the DB is housed. Essentially if they determined the path of the DB they could copy it ect.
Is there anyway to still allow access to the DB through the Access front end yet still prevent the user from actually getting to the directory of the file.
Thanks in advance for all your help.
No there isn't access is a file based dbms. For the app the user is running as to see the file, the user has to be able to.
This is the sort of need that says access cannot be used. Well not directly , you could use access as a backend, ie you park it behind some sort of service and your front end hits that.
yo keep an integral copy for you in case of changes then with the pblic copy, for example
with Access 2007 you click files -> Options -> active data base -> Navigation Options.
then you hide all the elements...

New LightSwitch Project

I have started a new Lightswitch project using a SQL database that was created with Lightswitch. When I publish and install the new Desktop project everything goes fine with no errors in publishing, installing or loading the new application. The first and only screen appears. I can click on different records and the data shows up and I can edit the data. However, if I use the list search function all of the fields get Red x'd.
The original application works the way it supposed to work.
I have tried with and without IIS: Published with (local) and (IIS) and get the same results with both methods.
The connecection string options for the new app are not the same as the original in that System Admin and Sytem user connecection strings are not offered so it is difficult to know if I replicating a working setup or not.
In Mananagement Studio I am awash in security, permissions, roles, and login selecitons. It seems clear that this is permission level problem but I have no idea on where to start trouble shooting.
see:
Diagnosing Problems in a Deployed 3-Tier LightSwitch Application
http://blogs.msdn.com/b/lightswitch/archive/2011/09/20/diagnosing-problems-in-a-deployed-lightswitch-application-eric-erhardt.aspx
How many string properties are in the table that you're displaying? Is there a large number of properties that don't need to be included in the search?
This forum post discusses the same issue as you're encountering: Search returns error "Unable to load data" with a Red X
Have you checked your connection string setup? I do have those issues back when I was using SQL Express on development and using SQL Server Enterprise as my target database server.

MS Access - Open database form from URL

I'm trying to open a form from an url. This ms access database will be hosted on a shared folder in an network, and the costumer has asked me if it's possible to open an database form (i'll have to pass an ID).
If this were in web environment i would do this without any problem, but honestly in ms access i have no idea how to do this.
Can someone help me?
Have a look at Register protocol and Registering an Application to a URL Protocol. They have a example registry file on how to register a protocol:
REGEDIT4
[HKEY_CLASSES_ROOT\foo]
#="URL:foo Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\foo\shell]
[HKEY_CLASSES_ROOT\foo\shell\open]
[HKEY_CLASSES_ROOT\foo\shell\open\command]
#="\"C:\\Program Files\\Application\\program.exe\" \"%1\""
You can change the last line to something like:
#="\"C:\\Program Files\\Office\\access.exe\" \"C:\\path\\to\\your\\db.mdb\" /cmd \"%1\""
If you URL is foo:241245, the following command is called:
"C:\Program Files\Office\access.exe" "C:\path\to\your\db.mdb" /cmd "241245"
In Access, the commandline arguments are returned by the Command function:
In the direct window:
?Command
241245
The database can be opened from a URL like any other file:
file://server/share/path/database.mdb
This won't work if the database has user-level security on it though. I've only ever done that by using a windows shortcut.
If you're not using user-level security and the URL works, you can set the desired form to open automatically on load by going to the Access Options screen and the Current Database tab, then selecting the desired form from the Display Form drop-down list.
Oops - I just noticed that you said you'd need to pass an ID. I don't know if that's possible using a URL.
Open your Access database from the network location (i.e., with a UNC path, not from a drive letter, or locally).
Navigate so you can see the form listed in your database.
Drag the form to your desktop. A shortcut directly to the form will be created there.
I don't think this is a good idea, though. It's a substitute for a user interface in your Access application. Additionally, your description of the problem sounds like you're intending to have multiple people opening the same database file. This is a really bad practice -- best practice is for the database to be split (back end with data tables only on the server, and individual copy of the front end with forms/reports/etc. on each user's workstation), and more than one user should never be opening the same front end at the same time.