What are Access _be and _bp files and how do they link together? - database

I'm trying to fix and add some functionality to an Access Database that a group I work with uses. They have a FileName.accdb file which holds the queries and forms. The data seems to be stored in one of two other database files FileName_be.accdb and/or FileName_bp.accdb both stored in a 'Back End' Folder beside the FileName.accdb file.
I was hoping someone might be able to explain how all this might link together, there is no documentation on how it was organized.
The other thing that seems odd to me is that 3 files are similar in size:
FileName.accdb = 11MB
FileName_be.accdb = 10.1MB
FileName_bp.accdb file = 7.5MB
The _bp and _be files both only have the database tables, but the _bp file seems to be more up to date.

Your database is split into Frontend and Backend. See e.g.
Microsoft Access Split Database Architecture.
FileName.accdb should have linked tables, queries, forms and code.
FileName_be.accdb sounds like a backend, having only tables.
FileName_bp.accdb - if it's newer, maybe "bp" is "backend production", but that's just a guess.
Open FileName.accdb and open a linked table in design view. In the property sheet, the Description will tell you where the table is linked from. The tooltip in the navigation bar will do so too.
Alternatively, you can use External Data -> Linked Table Manager to re-map these file locations.

Related

I've renamed a bunch of tables in Access on the back-end and the front-end isn't reflecting those changes. Quick fix?

I tried using the link manager but it didn't work. I changed the names of a bunch of BE tables because they just didn't reflect their content (taking over DB from previous DBA, so it's a mess). Is there a quick way to make the FE tables link back to their BE counterparts?
There are also queries and forms that I assume I will need to edit as well.
The link manager did work but it doesn't add new tables which your renamed tables are.
So just link the new tables, and either rename the linked table names or adjust all your queries etc. to the default linked table name.

sql data base with pictures

I'm working on a SQL server database and I need to have pictures
its for a catalog and most pictures are 1-4 mbs I don't thing embedding the pictures in SQL will be a good idea
what the best solution
till now I used to use access
I would really like to make a wpf form
but when I make a data source I don't understand exactly how linked images work
my main point is that I need it to run really quick and print out a catalog with inventory info each day for thousands of items
I'm looking for a form to manage it
I have tried an access form but access doesn't handle good the linked pictures
Just store the path to the image in the database.
Or, if using SQL 2008 or higher, there is also a new table called FileTable that stores data in the file system directly.
http://msdn.microsoft.com/es-es/library/ff929144.aspx
"I need it to run really quick" If speed is a must, Access might not be a good choice for this.. You should use a more professional RDBMS, IMHO.
If this is a hobby project I'd suggest using sqlserver express (I assume you have microsoft knowledge) and either storing a link to an image on the file system/web server or storing the object in the db. For small data volumes either way is likely to perform fairly well.
It is all very easy in MS Access 2010, just bind an image control to a table of paths. For example, my table is called Pictures, with the following entries.
PicturePath
Z:\Users\Fionnuala\Pictures\abc.png
Z:\Users\Fionnuala\Pictures\abc.jpg
I now just need an image control on a report bound to the table Pictures with a control source set to PicturePath, the images will be displayed.

Generating several similar SSIS packages (file data source to DB)

Is there a way to automatically generate SSIS packages? I need to create a lot of SSIS packages that just erase data from one table and import data from a text file. The file name matches table name and the column headers are in the first line of the file.
For more detailed information:
I am working on a project in which I have to separate two systems that are currently coupled (one system has direct access to the other's database). After the modifications, one system will provide data through txt files to be loaded in the other database.
We have to use SSIS to load data into the database from the text files.
The text files will be provided in CSV format with column headers in the first line.
The tables from both databases have matching column names, and all we need to do is clear the table and load data from the files.
I have more than one hundred tables with different number of columns. Do I need to create each package manually?
I'm familiar with 2 free options.
EzAPI might be a good place if you're a .NET heavy shop or just really want to geek out with the API. This approach allows you to control the pretty much the entire package generation but at the cost of coding time. I find EzAPI generally easier than working with the base COM/.NET libraries for SSIS.
Biml is an interesting beast. Varigence will be happy to sell you a license to Mist but it's not needed. All you would need is BIDSHelper and then browse through BimlScript and look for a recipe that approximates your needs. Once you have that, click the context sensitive menu button in BIDSHelper and whoosh, it generates packages.
I did this just using vb, I passed in the table names as a command parameter and used vb to generate the insert and clear, worked a charm... I can try and dig it out tomorrow when I'm back in the office but it was pretty simple. There didn't seem to be any other way to say "just get x and export it", "just take y and import it into z" so vb it had to be. In fact come to think of it I think I actually used a small xml file to pass the table info for export and then determined the table name for import from the csv file name. To be clear, this was only one package but it could dynamically choose the number of imports/exports it did. Further clarification this was vb within ssis as a processing step

Creating a custom column: "Append-Only" File Upload

I'm trying to make a custom column (for a custom list), where the users can upload files without overwriting the previous - this way they can keep past versions of the files and upload newer ones and the new ones append. There already exist "append only" comment columns and file upload columns that I can see.
I'm working with Sharepoint designer 2007 (2010 doesn't work with the site), and I'm referencing this code I found online somewhere (http://pastebin.com/raw.php?i=0qN89meu), trying to research the Sharepoint documentation on MSDN. I can open the site in designer, but don't know where to go from there (it's already running on a web server, not opening it locally).
I'm just not clear on how to start, I thought there'd be a simple "right+click -> new column" feature but I can't find it. If someone could point me in the right direction to where I could start creating columns on the site, that would be great. Thanks!
An untested idea :
Create a document library with a lookup column to the custom list.
Create an event receiver (ItemAdded and ItemUpdated) than will take the attached files and move them to the other list (with the correct lookup value). --> Code with Visual Studio
Grant to this document library only read permissions.
Adapt the view to display the related documents in the dispform of the custom list.
Advantages:
this seems to answer to your need
you gain all the usability of a document library (nothing prevent you to grant edit rights to other users, force check out, etc.)
Disadvantages:
you have to play with lookup. Can be tricky sometimes, if you play with features
you split one business entity to two entities. You will have to deal with cascading delete (if you need it).

Export queries from SSMS to files - not the results but the query

I want to export all my queries as individual files for purposes of putting them into mercurial source control, but I don't know how to export the individual queries as individual files without having to open each one, then save to the folder, then add into the project, or some equally convoluted process.
I wouldn't mind having to add each one individually, but how do I get them out of the database as individual files without opening them all and doing each one save as? Ostensibly I would like them named with the name they have in the database right now.
I could easily dump the whole lot into one long file using database tasks, but that's not really super helpful is it?
I have SSMS 2k5 and 2k8 (and VS 2k5, 2k8, 2010 to boot) to work with, any thoughts?
Right click on the database. Select Generate Script. On the last page. Script To file you can choose single file or file per object
When you script a database in SSMS you have the option of one file per objects.
SMO is useful with a small app to iterate through
Third party tools like Red Gate SQL Compare (there are other free tools) can script too
I would write a small C# program which extracts your database object via SMO and stores them in your filesystem the way you want.
It is rather easy to write stored procedures which fetches the definition into the result as text. sp_helptext could be used as start.
Than you can use PowerShell to write the Output to the file system.
It sounds as if this would fit rather good into the Really Simple Data Dictionary codeplex project. link text

Resources