Accessing a Remote Database with VB6 - database

How to access a remote database with Visual Basic 6?
It's been a while since I've done any code in Visual Basic 6, I remember ODBC connections however I'm not sure how I would go about it. All that I need is to have a database on a host computer and then some clients would connect to it, probably without need to guarantee simultaneous access.
Edit: I'm trying to access a Microsoft Access database.

You need to use ADODB, here is a tutorial that covers most of what you need.

This tutorial should help you get started.

The methods mentioned by #rick_schott and #eric_j are good and legit, but if you want speed, that is not the way to go.
Instead, you want to use DAO and Jet (the technology released prior to ADODB). Here is a pretty good tutorial:
http://www.vb6.us/tutorials/using-dao-data-access-objects-code-tutorial

Related

Server communication with database

I'm creating an online game and the client is going to be made using unity as well as the server and I'm wondering whether it's okay for the server to communicate with mysql database via PHP
For simple tasks, there is actually nothing wrong with that.
There is also a example of using this method in the wiki here: http://wiki.unity3d.com/index.php?title=Server_Side_Highscores
But be aware: that is not the fastest solution.
You could make a faster direct connection with a plugin like this one:
https://github.com/Hanslen/Unity-with-MYSQL
And for native unity support on Android and iOS support i would go with a sqlite database plugin: https://github.com/rizasif/sqlite-unity-plugin

Could someone please provide a walkthrough for deploying a SQL Server / VC# app?

I have just completed (basically) a beginner's database application with SQL Server and Visual C#. I am using Visual C# Express, not the full-scale Visual Studio thing, which apparently makes deploying the application properly a bit more complicated. I've seen where some other people have asked about how to deploy such an application from that IDE, but I'm not able to fully understand and use some of the answers that they've been getting back.
Therefore I must ask how to deploy this application properly, but I must also ask that there be a simple walkthrough given. College doesn't teach much about how to deploy these things, so I'm very newbish at it. Thanks!
I don't know of an automated way to deploy the database. If it's the first time the database is hitting the server, I backup on the source, and restore on the target...simple.
As far as the code, here's what I do:
Publish (right-click, Publish) the code to a local directory (I use C:\Websites\SiteName).
Use and ftp client to promote the output to the server.
Make any necessary adjustments to the web.config to point correctly to your target database.
When and if you need to make changes later, you might want to consider a tool I use for this purpose, BeyondCompare. It can perform a diff between your local files and the target site via FTP, and tell you exactly what you need to deploy to make it work. This won't detect changes in your db, however, though there are plenty of Sql diff tools along the same lines. My general principle is "make the local site work perfectly, and then make the target site just like the local site".
Things to watch for in #3 above are that the target address is right in the connection string, along with whatever security credentials you will need to connect to the db.
HTH.

Query SQL Server Database from native iOS Application

I am working on an in-house, iOS app that will need read-only access to a SQL Server with multiple databases. I know the stock answer here is "write some web services", but I'd like a solution that is self-contained. Is there any way to directly connect to a SQL Server database from an iOS application? I'm thinking something like a basic ODBC connection.
I've seen a lot of users asking this question, but very few answers other than "write a web service." Is that really the only way?
A web service is indeed the only way, but Red Gate's written one you can reuse:
http://www.mobilefoo.com/iSqlServerSDK.html
http://labs.red-gate.com/Tools/Details/iSqlSDK
It's not officially released yet, just in beta, so keep in mind that features & prices may change.
Actually the easiest way is to create a MVC 3 or 4 asp.net web application. call the web methods. You don't need any API to pay for.
I use SBJson to serialize domain object and then send the objects as serialized jSOn to MVC 3. It's super easy to do. I even send images with base64, so it's .net compatible.
See my blog post with sample code:
http://nickturner.wordpress.com/2012/10/09/107/
So, after much searching and trial and error, unfortunately the best (only?) way I've found is indeed using Web Services.
Fortunately, Linq to SQL makes the WCF-creation-side incredibly easy. Once I got someone at work to walk me through setting up a Windows web server and adding the web service (and buying access to an online web server), the Windows side was up and ready to go.
I'm still working through all of the syntax stuff on the SOAP interaction side, but keeping my different methods somewhat similar in structure allows me to tinker a little until it works. By this time, I think I've gotten it to work pretty well.
So, both answers I got back were (disappointingly) correct. The only way to interact is through a Web Service. Even the 3rd party solutions they mentioned were really just convenient wrappers around the same type of technology. As it turns out, I'd rather have finer control over the process.
One word of advice: Get a real, external web server. I tried doing this on a non-Server Windows VM on my iMac/MacBook Pro, and it was like pulling teeth! Once I actually got access to an external, full, stand-alone web server, the process was much more streamlined and easy. Do yourself a favor and take that headache out of the equation!
There was a SQL ISAPI extension as part of SQLXML, but I think it has been deprecated: http://msdn.microsoft.com/en-us/library/aa226559%28v=SQL.80%29.aspx
This was effectively a pre-built, and relatively open, web service - so I'm not sure this counts as a direct connection.
You could also check out http://odbcrouter.com/Main

Update a local/client Microsoft Access Database from a server (MS SQL Server2005)

I've got a website that runs on a shared hosting environment, using ASP.net 2.0 (C#) and MS SQL Server 2005. I've recently been asked if I can integrate my website with a piece of third party desktop software that uses the Access runtime as its database (transparent to the end user).
Primarily I want to be able to offer users of my website the option of exporting their data into the Access database on their local machine. The data schema's match sufficiently, the question is how to actually do this, and in the simplest way possible for the user.
Simply having a webpage update the local Access database isn't possible due to the obvious security restrictions. I've considered asking them to upload the Access database to the server, so I can migrate the data then allow them to download it again, however the competency of the users of this software is such that even locating the Access database, let alone uploading and downloading it from the website might be too complicated.
I've also considered if Adobe Air or Silverlight could help here, but don't know them well enough to know for sure. Similarly I'm assuming another exe could be written to perform this task that the user could simply download and run, however my experience is in web development, not program development, so this isn't a 100% certainty for me, or an ideal development option for me.
So, can this be done, and if so what technique can achieve this, with the stated aims being ease of use for the end user, followed by ease of development by someone with web development as their main skill. Many thanks!
You may find this answer of interest: Best way to stream files in ASP.NET
It is about transferring a file from the server. You could save Excel or CSV and use that to update Access.
Instead of trying to do this in a web page you might just expose some views from your sql server to some client specific logins.
Then within the Access application, allow them to tie to your sql server. You might even provide an access application for getting the data from your site and stuffing it in their local access database.
In my work we have done something similar that is transparent to the user by creating an ActiveX control. The problem is that you are limiting the users to use only Internet Explorer.
I think that the best way to achieve what you are trying to do is by installing a service in the client's computer. If creating a service is beyond your experience you can post a project in a place like oDesk and find somebody that can help you with the development for the money that you are willing to pay to complete your project.
Good Luck.

Best place to start for learning SSIS

what is the best place to start learning about SQL Server 2005 Integration services?
I'm looking for links for setup and tutorials on how to get started. I've read I need a toolkit called SSIS designer however I haven't been able to find it on the SQL Server Enterprise ed dvd nor online anywhere. I did come across some links in various forums but they are now broken.
What version of SQL Server are you using? If you're using SQL Server 2000, then you're out of luck: SSIS didn't exist back then, and you don't want to know what did.
SSIS is sufficiently rich and complicated that I would not recommend a "tutorial". I'm afraid I have to recommend you read a book (and follow the exercises!). The one that taught me was Microsoft® SQL Server(TM) 2005 Integration Services Step by Step.
You want to install Business Intelligence Studio from the SQL Server DVD. That installs Visual Studio if you didn't already have it, and also installs the templates and tools necessary to develop in SSIS.
I've found lots of good info at SSIS Junkie (http://blogs.conchango.com/jamiethomson/).
And MS has some interesting web casts.
I liked the well written tutorial at http://www.accelebrate.com/sql_training/ssis_tutorial.htm
give it a try.
Once you get past the basics, this tutorial/example shows how to use looping, variables and expressions to do some cool stuff: http://www.sqlmag.com/Articles/ArticleID/95385/pg/3/3.html
The example is aimed at administration and monitoring, but can be applied to many things.
Looks like it's subscriber only now, but you can get the source.
In a nutshell, you store servernames is a table, put them in an 'object' variable and then loop through them performing whatever actions you'd like.
Your connection to 'source server' changes based on expressions you define in the properties window.
I'd suggest you look at SQLIS.com, it's a great site written by some SSIS experts. There are a number of blogs, and we have some articles at SQLServerCentral.com, though not sure we have a good "get started" series.
PragmaticWorks does a lot of SSIS and I've started to see some details on their blog about the various tasks.
IF you are working on a Business Intelligence project I suggest the white-papers from www.SQLBI.com for reference. If you understand the basic termonology of standard BI practicies, this will present a good set of best practices. It may be a little complex though if you are just starting out.
I have also found the video training provided by vconferenceonline/SSWUG (http://www.vconferenceonline.com/shows/summer09/uvc/sessions.asp?id=2) to be very useful. Not free - but relatively cheap.

Resources