How to upload files to one drive using ssis? - ssis

I am looking for a way to upload files to One Drive using SSIS. I've researched and there are some third party tools like CozyRoc, KingswaySoft which provide one drive connection manager. Anyone out there who already have experience doing this? If so please share!

I found a much easier way to do this without the need of any third party software. Download one drive to your local machine and then login.
You can upload, download, delete files.To map the One Drive for Business cloud drive on Windows follow the below steps
Map network location in File Explorer (My Computer)
a. Open File Explorer (or My Computer in older Windows) and select This PC on the left side tree.
b. Click on Add Network Location button in the ribbon (or right click on empty space in File Explorer and select Add Network Location).
Map network location in File Explorer here
c. Click Next on Add Network Wizard window
d. Click to select Choose custom network location and click Next
e. Copy the URL from the address box and add Documents in the end like below example
https://<your Office365 tenant name>-my.sharepoint.com/personal/<yourrname>_company_com/Documents
Add Network Wizard window
f. Enter a name for your network location and click Next and Finish to complete the wizard.
network location name
g. You will find the mapped network location in My PC section.
Mapped Network location
Use File System Task to upload, create, delete etc.. And you're done.

Our SSIS Productivity Pack offers OneDrive Destination component which supports Create/Update/Delete data from your OneDrive. You can download the toolkit and give it a try, if you run into any problems, please feel free to let us know. We are more than happy to help!

Related

How to show open files with 'Accessed By' information

How can I get information about which user has a specific file open on an Azure Files share?
so far I can only get a handlerId, but that doesn't tell me who has the file open. Is there a way to get that, like in a standard windows server share (computer management -> system tools -> Shared folders -> open files)
Unfortunately, there is no way to get 'Accessed By' information in Azure File Share by now. You can post a feedback here to progress this feature.

Directory sandboxed access for Google Drive / Dropbox API / RemoteStorage apps?

Is there a way to get sandboxed, user-selected directory access on any major file service without first getting read level access to their entire filesystem?
There's a lot of talk about "unhosted" static webapps that allow users to access their data from a 3rd party file service (Google Drive, Dropbox, their own server, etc.). The most notable effort I've found so far is remoteStorage.io, but there doesn't seem to be a way with any major provider to let the user select a directory and then use that as a sandbox without breaking their trust (i.e. getting read access to all their files first).
From the user's perspective, the webapp shouldn't have access to anything else on the remote file storage except the one folder the user grants it access to (for example, I might grant a text editor access to my FunnyJokes folder).
The current work around seems to be having the webapp force a specific folder name ahead of time ("this app wants access to /appname_notes"), but that rules out letting the user point it to where they may already have their notes.
Does anyone know of a nice way to do this with Google Drive, Dropbox, or the like?
The user experience that makes the most sense to me is something like...
User opens an unhosted webapp (for example, a basic text editor TextyApp). They click a button to connect with their data.
3rd party auth page appears (for example, Google Drive) and it says "The app TextyApp has requested read/write access to your files. Please select a directory to use."
Confirmation screen: "Grant read/write access to folder FunnyJokes for TextyApp?"
The page redirects back to the webapp with sandboxed accessed to the user-specified folder and the files within it.
This seems like how remote file storage should work, but I haven't found a way to do it yet. Any thoughts/suggestions would be great!
Cheers,
Adam
Edit: To clarify, I'm not talking about storing hidden "application data", but instead letting the user specify a particular directory to sandbox for use with a webapp that they may not want to give broader access to.
The Dropbox Apps API provides the ability to restrict any app using your API key to a single directory of your Dropbox account. So users could create an API key with access to a specific directory and then plug that into your app. However, that's not a user-friendly workflow.
I think the Dropbox Drop-Ins Chooser/Saver API might be close to what you want. The user is presented with a Dropbox file selection popup, and your app only gets access to the specific file(s) that the user selects.
With remoteStorage, sandboxed directory access is currently the default way for apps to request (and users to grant) access to the storage. However, users cannot manually select or enter custom directories during the connect phase.

Disabling security warning on tables imported/linked via VBA

How do you stop this window popping up for tables being imported via DoCmd.TransferSpreadsheet?
I'm importing quite a few tables, so having to click "open" on this pop-up for each one is annoying.
I've tried DoCmd.SetWarnings False but that doesn't seem to work.
I know that it may also be possible to set the folders that contain the files being imported to trusted locations, but unfortunately I don't have permissions on our network to do that at the moment (I also think that would only affect the settings of my version of Access rather than the Access file I'm creating and distributing).
The issue I was having was due to our network security policy. Our IT tech has amended the policy so that I don't get these pop-ups from files I try to import in to Access from a particular folder.
He has given the following instructions should anyone else have the same issue in Access on a network, though I suspect this could be done from other Office programs too:
For a Microsoft Active Directory domain network, add trusted locations
using Group Policy. Creating, linking and security filtering for group
policy objects should be familiar before continuing, also the admx
files for the version of MS Office in use should be loaded in the
central store.
Settings are under:
User configuration/Policies/Administrative
Templates/Microsoft Access /Application
Settings/Security/Trust Center/Trusted Locations
Policy: Allow trusted locations on the network – set to enabled (must
be enabled otherwise any trusted locations on a network share
specified below will be ignored)
Trusted location #1
Set to enabled
Path - can be network path (e.g. \\), if using
mapped drive letter the policy is applied using the network path
anyway, quotes around the path should not be used even with spaces
in the path name
Date - enter a date from which the location should be trusted (e.g.
todays date)
Description - optional – this will show up in Access trust centre
locations list Allow subfolders – tick to include any subfolders
under the above path if needed
Add other locations using Trusted Location #2, #3 etc.
For standalone Access, add the locations directly into Trust Centre
locations dialogue using the Add New Location button. If the locations
are in a shared folder on the network, make sure the box: Allow
trusted locations on my network (not recommended) is ticked otherwise
any network locations will be ignored.
You need to create a Digital Certificate that determines that the source is trusted. I wrote a doc for my company, I'll copy/paste it here but it's going to lose the screenshots I provided.
In order to get around this issue, you will need to create a Digital Certificate. Digital
Certificates are good only on the computer they are created on, so if this database will be used
on multiple computers then each one will have to create a Digital Certificate.
To do this, you will need to perform the following tasks:
1) Click on Start -> All Programs -> Microsoft Office -> Microsoft Office Tools ->
Digital Certificate For VBA Projects (If you don’t have this, you will need to contact the CSC)
2) Enter a Certificate Name. Make it generic like “MyCertName” and Click OK
3) Open your Access database that you want to bypass the security warning
4) Go into the Design View of any Module
5) Click on Tools -> Digital Signature
6) Choose your Digital Certificate you created in Step 2
7) Save and close the database
8) Re-Open the database. You will now be prompted with a different Security Warning:
9) Check off the “Always trust files from this publisher…” box and click the Open button
10) All subsequent times you enter this database, you will not be prompted with a security warning.
The CSC, in Step 1, is our internal help desk. In our case, it requires specific priviledges that they need to assign in order to be able to do this.
The open file security warming has NOTHING to do with Access.
The open file security warning has NOTHING to do with trusted locations.
The open file security warning has NOTHING to do with you having some security certificate.
When you download a file (or perhaps copy from a USB drive), then windows 7 will toss up a security prompt. This occurs for ANY type of file from Word to PDF to whatever.
If you just have one file, then the common solution is to right click on the file and then properties.
You then choose UNBLOCK.
The dialog looks like this:
So you can open up that folder, and select all (ctrl-A) and then again choose the un-block.
You can also consider a registry edit, but then again that likely not a good security setting.

Google Realtime API - share settings on shortcut file

This is a follow up to Google Realtime API - what is the role of a shortcut file in google drive?
What is the effect of share settings on a shortcut file? Does a user need to share this shortcut file with other collaborators?
In my case, my web application already contains share settings between users. These are my own share setting that I store in my database. They are currently sharing between each other but have to edit a file one person at a time. Ideally I would like to just use the settings from my application to seamlessly make it so that they can collaborate at the same time, without having them to once again give edit permissions.
The share settings control who has access to read or write to a realtime document, just like for any other Drive file.
They can be set programmatically via the Drive API, or you can allow users to update settings via a common sharing dialog. See https://developers.google.com/drive/manage-sharing
If you have an existing setup, you could programmatically transfer the share settings to the realtime shortcut files as one-off transition step. We don't generally recommend trying to keep them in sync, as it can be a bit tricky, but its possible.

Is it possible to open an excel file in its current location not download it

I am writing a small web site for a company Intranet and have the following question that may be simple. Is it possible to open an Excel file from it's current location on the network instead of downloading it. So that any changes made are made to the actual file and not a downloaded version of it?
Thanks
Matt
Yes, it's possible, but then you would have to specify the address of the file in the local network, not as an HTTP address on the web server.
The user would naturally need to have access to the file on the network share, with write permission.
No. It is not possible to open a remote excel file across HTTP and write changes back to it.
Let's consider some other things you might be trying to do.
If you are running excel, all you can open are files visible to the file system APIs. That means files on your local disk and network file systems accessible via CIFS. Mapped drive letters, \\ pathnames, that sort of thing.
If you set up an Excel file for download from a web server, it will always be downloaded. Excel won't open it 'in place'.
The Microsoft technology solution that addresses what you seem to be asking for is Sharepoint.
Anything you open from a HTTP connection I believe is "downloaded" to the client. Its more how you "uploade" the changes.
But if thats what the customer wants I have some alternatives:
1) Use Dropbox or similar filesharing utils. Once someone saves a document in Dropbox, its automatically uploaded to the Dropbox account. The free version allows up to 2 GB of data. Thats quite a few Excel files.
2) Use Gmail/Google Apps. If you do you get 1 GB space for online documents. You can upload Office files suchs as Excel and they will be converted an online editable from within the Google Docs. You can share the files within the domain or even externally if you make that setting the admin part. Afterwards you can also download/export the Spreadsheet as Excel format. I havent tested how much of the standards you loose but ofcause its not a full Excel.
3) wait for Microsoft to finish their Office online. I bet that Excel version will do exactly what you are currently asking for by using some special plugin or MSIE9 technics. But I dont really know yet.
Hope some of this gave you some ideas?
If the file is in a network share on the same domain (or reachable from the domain your app is running from), it is possible, provided that
The share is readable and writeable by the domain\user the app runs under (via ownership or assigned role.)
The file is shareable (IIRC). This is important if multiple users (or apps) need to access it.
Other than that, a \domain\location path should be treatable just like a local (or disk mounted) path.
In your HTML document, create/place a link:
<a href='file:///H:/docs/foo/bar.xls'>Your Excel File</a>
Substitite your network UNC path for H:/docs/foo/bar.xls. Note the slashes instead of the regular UNC backslashes.