I have a Windows Phone app which uses Linq to Sql to store and retrieve data from the DataBase which resides in Isolated Storage. Now if I create a background service for my app, whether the DataBase can be accessed by the background service? According to MSDN:
A local database runs in the Windows Phone application’s process. Unlike a client-server database such as Microsoft SQL Server, it does not run continuously as a background service.
Yes, you can access that DB from Background Agent!
A local database runs in the Windows Phone application’s process.
That means your database is not running unless any part of your app is actually running. It can be either you app or background agent created by that app.
Related
I have am existing project that runs on windows, mac, ios and android. I'm looking for a way to make a windows phone version, but I can't figure out how to use SQL. My current code base is very large and I can't "switch" to using EF. How can I get access to databases in UWP?
If you want to connect a local database, for example the SQLite, there are implemented libraries could be used do this stuff:
A Developer's Guide to Windows 10: (10) SQLite Local Database
If you want to connect a server-based database, for example, the SQL Server database, unfortunately, there is not a built-in API like ADO.NET that could be used to connect the SQL Server directly. And for a workaround, you would have to utilize a middle layer for example, the WCF Serrvie:
How to access data from SQL Server database in Windows Store app, although this sample is written for store app, the used approach is the same for UWP application.
You'll not be able to connect directly to a Microsoft SQL Server database. Instead you'll need to make some type of Service layer that communicates with the database and your phone app would need to communicate with that. For more information on how to do that see the code same and the video that Microsoft has hosted here:
https://code.msdn.microsoft.com/windowsapps/How-to-access-data-from-5f2602ec
I have a desktop app which uses a Firebird database. And it works fine, yet I want to also have access to that data online.
So I thought it might be possible to sync the data between Firebird and SQL Server. I know there is a tool called dbconvert but its quite expensive.
Any other solutions which come to your mind? Thanks!
You do not need to change the database. If you want to access your desktop app online you can, for example, place your desktop APP + firebird database on windows server and create a access through RemoteApp. Then you can accessed your application from anywhere (if the client OS can RemoteApp and online)
update
You can place application and database on a different type of server if you will reach them through some "remote desktop".
I am currently working on designing a project to be developed in VB.NET using Visual Studio 2010.
The project will be a database access application used to manage records of staff training attendance. Multiple users will be accessing the application at the same time and it needs to work over the internet.
My question is should I have the database server directly connected to the internet for this or should I create an application server for the project and host it on the local network and channel all database queries through it.
There will be the need for some workflow and data routing as well as background job workers but im not sure if I do this as a complete application server and the clients access the data through the application server or if they should access the data directly on the database server and simply write a server program which only handles the workflow routing and background job workers.
Any advice on this would be appreciated.
I deployed a simple ASP.net MVC application on IIS (7.5 under win 2k8 R2 64 bit), and it created its databases (ApplicationData and the second one with my own data) when I started using the app.
The databases (.mdf and .ldf files) were created inside App_Data folder.
Application uses entity framework code first approach. I had to change the app pool's identity to Network Service to get the webpage working. I also had to manually create this App_Data directory and assign permissions for Network Service user to modify it's contents.
Now the problem I got is that I can't see those databases in Management Studio (got SQL server 2012 express with advanced services installed). I can attach them manually if not using the webpage for a longer time, otherwise the .mdf files are locked by sqlservr.exe process of Network Service user.
All the time I got two simultaneously running sqlservr processes. One is run by MSSQLsomething user and the second one by Network Service. However, I got only one instance of SQL server installed (I'm 100% sure of it).
Could anyone explain me how is that possible that Management Studio cannot see those databases even at the moment they're being used (locked by sqlservr.exe process)?
This is because the database is hosted in User Instance Mode, and therefore not actually attached to the 'official' database server.
In that article you'll see that this is enabled using User Instance=true; in the connection string. To switch it off you specify User Instance=false;.
I want to allow a user to provide their SQL login credentials, and display local SQL tables, stored procs, etc. in a listing. Is this possible? Note: I do not want to install some local, small SQL variant. I'm talking about the full version of SQL 2005+ that's already sitting on a developer's workstation.
Silverlight provides no mechanism for connecting to a SQL Database directly. You either need to provide a set of web services to interface with your data source or use ADO.NET Data services.
Connecting to a local SQL database using Silverlight alone isn't possible.
Something I almost missed is that you don't want to connect back to a database on the web server. You want information about a possible sql server instance on the user's (developer's) local machine. That isn't possible from within Silverlight alone.
I had thought you might be able to send the credentials on to the web server, have it dynamically generate a connection string, and then use the information_schema views to return lists of tables and views like any other data source. But that won't work.
However, in that scenario the web server is essentially acting as a proxy for your silverlight app. You might be able to build something else to act a proxy instead. Perhaps a small clickonce winforms app. That would install from a web page via hyperlink, so you could craft a link to install it on the page hosting your silverlight app.
With silverlight you cannot access the local machine/network resources. you will need to use wpf/xbap.