vb.net offline and DBdatabase online. How to connect - database

I have not found enough information about this online but I am sure that is possible. I want to have a vb.net application in my computer and connect to a database in my hosting to add records.
Also, I want to access the database online to see those records from away from home. Kind of like having my own phone book online in my hosting..
Can someone point me in the right direction.
1. Do I use access or mysql?
2. Do I set up the connection string using a ftp or something different?
3. I want to develop in asp.net
Thanks to all

Access is probably not a good fit, as it is not really reliable across an Internet connection, so I would go with MySQL. Unless you want to consider SQL Server, which has better out-of-the-box support in Visual Studio.
For a server-based database (MySQL or SQL Server), your connection string will include the server address provided by your host and possibly a port. If you insist on using a file-based database (Access or SQL Server CE), the database will probably be on a shared folder on the host, and the connection string will include the path to that shared folder.
If you are developing in ASP.NET, your host may limit your choice of database.

Related

How to deploy C# winForm(EntityFramwork) application on LAN network

There are dozens of questions like this but none of them resolve this issue.
I have created WinForm application using entityFramework modelFirst approach. I have deployed it using InstallShield and it works perfectly fine.
I have been using VisualStudio server explorer for all database related work, not SQL server Management studio.
Questions
What I simply want is how can I make its database centralised
through out the LAN network?
One computer will act as server and
will contain that application too, others will just have application
and use database from server. Do I have to make two builds? or what
do I do?
In-case of change in IP address of server of location of
database at server? Shall it require new deployment or just some
changes in connection string?
Shall it require some changes in code
as well to handle exceptions in case of server no-response or
anything?
Kindly elabore with steps and process, whatever you are suggesting as I am very new to this.
The general way to do this is to have a ConnectionString that points to the machine running the server. The machine name is used, not the IP address.

How to sync Firebird with SQL Server database

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".

Deploying a Microsoft Access application with SQL Azure

How can I deploy Access applications to multiple companies, with linked tables to SQL Azure servers?
I'm planning to deploy the Access programs with Microsoft Access runtime, and I'm assuming that I'll need to include the odbc drivers as well? Is there a way to automatically have Azure create a new server when a company signs into my website and downloads a program, and have the Access program link to it? And is there a way to get around the IP address settings in Azure as well? Because companies will be using the programs on multiple PCs. Or is it possible to utilise that and charge per PC?
If you distribute the application pre-linked, then the user should not have to do anything to consume the data.
When using Access with SQL server you can in general use the standard windows built in SQL driver. However in the case of Azure you do need to download + install the native 11 drivers (so I recommend you use that driver during development and setup).
You can also have code include to re-link to the sql server, but as noted, if your application is “already” linked, then you really don’t have to do anything on application startup. Such re-linking would not be required every time the application starts, but only a “one time” re-link is required say if you’re going to change the database, or perhaps the user logon. How to re-link (DSN less) is outlined here:
http://www.accessmvp.com/DJSteele/DSNLessLinks.html
As noted, you really don’t need the above.
As for IP restrictions, in the Azure setup you can turn off such restrictions if you need a connection that will occur from any location, but that does open up a security hole. (when you first create the SQL database you will be prompted for firewall rules).
All of the above assumes you been developing that Access application with SQL server as the back end (you can even use the free edition of SQL express for development on your local machine).
Last but not least:
Because your connection is occurring OVER the internet, then you speed will be MANY times slower then using a local server. Read the following article to get a “grasp” of this speed difference:
http://www.kallal.ca//Wan/Wans.html
So MUCH additional work is required in Access to obtain good performance when your connection is OVER the internet as opposed to SQL server running on your local network.

Simple VB/SQL app and AZURE

I have a simple ms sql 2012 express database & a simple VB Express 2010 application as its front end.
Can I simply host my MS SQL database on Azure & update the application to interrogate the hosted database? This would mean, the application would still be local, but the DB would be hosted. My offices are distributed & if we could do this it would save quite a bit of hassle.
Do I need to use a virtual machine, cloud services or straight hosting? Its difficult for me to understand the subtleties each service.
I've had a look at the azure services information and the documentation is pitched a little high for me. I just wanted to know if this is relatively simple thing to do & if anyone has has any pointers to How To's or Noob guides to azure.
It's absolutely possible and in fact, super easy to set up.
Check out this simple step-by-step instruction on how to set up SQL Server DB on Windows Azure - https://www.windowsazure.com/en-us/develop/net/common-tasks/sql-azure-management/
You can even connect to it from your SQL Server Management Studio just like you would connect to a local database or a database on your network.
Ideally - yes, you can change the connection string used by the VB desktop app to reference the Windows Azure SQL Database instance instead of the local database. That said, SQL Database is not 100% compatible with SQL Server. Be sure to check out the differences at http://msdn.microsoft.com/en-us/library/windowsazure/ff394115.aspx
Can I simply host my MS SQL database on Azure & update the application
to interrogate the hosted database?
Yes, your SQL Azure database is accessible via a connection string, but you have to make sure that you create a firewall rule in SQL Azure to allow your locally hosted or remotely hosted applications to access the database. Everything is turned off by default.
Do I need to use a virtual machine, cloud services or straight
hosting?
I'm not exactly sure what you're asking here, but a VM may be overkill, as that gives you basically a place to host a VM in Azure. You control the O/S, patching, etc. A cloud service (a web or worker role) is a little less maintenance heavy as the O/S, patches, updates, etc. are maintained by Azure and you just worry about your application. Straight hosting - are you talking about hosting on 1&1 or GoDaddy or something? If so, that's really no different than your VB app running locally and accessing your Azure database. For this option, just make sure you have your firewall rules set properly, otherwise you won't be able to access the database.
Hopefully this helps. Good luck!
Azure has some specific requirements that need to be met (like every table has to have a Clustered Index), and it does not support some functionality that is available on "normal" SQL Server (like replication, FILESTREAM data, or data compression).
Other than that, as long as your app meets the requirements, there should not be a reason for it not to work on Azure. The majority of the functionality not supported by Azure is most likely out6 of the scope of what a "noob" would implement, so you probably are safe.
However, Azure might be overly expensive for your needs. It might be cheaper to go for hosting the database somewhere. This would mean you would only have to change the connection string of the application to point to the new database server (though there could be additional limitations imposed by your hosting provider).
Good luck with whichever option you end up taking!

SQL Server 2008 FileStream on a Web Server

I've been developing a site using ASP.NET MVC, and have decided to use the new SQL Server 2008 FILESTREAM facility to store files 'within' the database rather than as separate entities. While initially working within VS2008 (using a trusted connection to the database), everything was fine and dandy. Issues arose, however, when I shifted the site to IIS7 and changed over to SQL authentication on the database.
It seems that streaming a FILESTREAM doesn't work with SQL authentication, only with Windows authentication. Given this, what is the best practice to follow?
Is there a way to force this sort of thing to work under SQL authentication?
Should I add NETWORK SERVICE as a database user and then use Trusted authentication?
Should I create another user, and run both the IIS site and the database connection under this?
Any other suggestions?
Take a look at this article. I don't know a whole lot about FileStreaming and security, but there are a couple of interesting options in the FileStreaming setup such as allowing remote connections and allow remote clients to access FileStreaming

Resources