SQLSERVER Management Objects in c++ Programming - sql-server

How to use SQLSERVER SMO in C++(CPP) to list all the servers availabel and find databases installed using VS2003/VS2005 IDE.
And i need some clarification in
1)Does Vs2003 Have support for SQLSMO??
2)Is any additional files(reference) needed to work with SMO in VS2003? if yes what r those?
Thanks in Advance...

SMO (SQL Server Management Objects) was released with SQL Server 2005, and requires .NET 2.0 at least. VS 2003 only supports .NET 1.x.
In .NET 1.x, you'll have to revert to SQL-DMO - a COM based set of components for managing SQL Server database objects.
Marc

Related

which embedded db supports TSQL?

I have a spring batch application which reads data from SQL server. I would like to write an integration test against an embedded db which supports TSQL.
Exp: My main application has some queries which uses "for json path"
I am looking for an embedded db where I can test in memory.
PS: I tried H2 and looks like it does not support TSQL.
Please download this
https://www.microsoft.com/en-us/download/details.aspx?id=30709
Microsoft SQL Server Compact 4.0 is a free, embedded database that software developers can use for building ASP.NET websites and Windows desktop applications. SQL Server Compact 4.0 has a small footprint and supports private deployment of its binaries within the application folder, easy application development in Visual Studio and WebMatrix, and seamless migration of schema and data to SQL Server.
FYI -
Looks like Microsoft SQL Server JDBC Driver does not support connecting to SQL
Server Compact.
How to use SQL Server Compact Edition (CE) from Java?
https://social.msdn.microsoft.com/Forums/en-US/4d25a17f-6dda-4bec-8a92-f068594553ef/java-and-sql-server-compact-edition?forum=sqlce
Perhaps you can use SQL Server Express LocalDB.
I do not know about its technical details, however. I have personally not (yet) used it in a development project. Perhaps it cannot be considered to be an embedded database like SQL Server Compact Edition is. But a quick search on Internet does indicate that it could be accessed from/with Java.
Regarding managing LocalDB databases with SQL Server Management Studio... Contrary to what is stated in the official documentation, I did succeed to connect to LocalDB using SSMS (version 18.9.1). I only needed to enter (LocalDb)\MSSQLLocalDB as the server name in the connection dialog and use Windows Authentication.

Upgrade sql server in place on your team foundation server

Is it possible to do an in place upgrade of you SQL server edition, (for example upgrade 2012 Express to Standard), when it is running and used by a team foundation server 2015 instance? Will this need extra configuration or will we need to detach/attach the team project collections first?
I can't find any information about how to do this. It is only stated how to upgrade the team foundation server itself, or that it is no problem to do edition upgrades of sql server, but not the combination of the two.
Yes
You can:
Use the TFSServiceControl quiesce command to turn off your servers services.
Upgrade SQL Server in place following SQL Servers Instructions
Use the TFSServiceControl unquiesce command to turn on your servers services.
https://www.visualstudio.com/en-us/docs/setup-admin/tfs/command-line/tfsservicecontrol-cmd
As far as I can remember:
No.
You will need to detach your collection.
Make sure the SQL Server version is supported by your TFS Version

MS Access to SQL Server

I am trying to move my rapidly growing MS Access 2016 database to a SQL Server back end and build an asp.net front end. I am trying to migrate data from the Access database to an instance of SQL server 2014 but this is not going so well. I tried to migrate it using the MS Migration Assistant but this is not supported for versions after 2010. Does anyone know an easy way to convert Access tables to SQL Server?
Thanks in advance.
The only migration assistant that was depreciated was the one built into Access. So you are correct that after Access 2010, the migration system is removed.
However, there is a SQL Migration Assistant for Access that can be used here:
https://www.microsoft.com/en-us/download/details.aspx?id=54255
The above SSMA for Access is better than the old migration assent and is designed for upgrading Access to SQL server.
NOTE CAREFULLY that the shortcut on the desktop is for office x64 which FEW have, so make sure you launch the x32 bit version of SSMA – you find the shortcut to x32 in the programs folder (or just type I SSMA in windows 10 and select the x32 version.
AGAIN:
Make sure you follow above to launch the x32 version else it will not work.
Create your database in SQLServer
In Management studio, Right click on your database. Go to
Tasks
Import data
This should bring up the SQL Server Import and Export Wizard
In Data source, choose Microsoft Access. I have 3 choices in my test server. I'm not sure what one to use, so it might pay to play around.
Follow the Wizard, which should get you to were you want to be
To automate migration from Microsoft Access database(s) to SQL Server
SQL Server Migration Assistant (SSMA) is a free supported tool
A video tutorial and all procedure I posted on the blog:
https://www.imran.xyz/convert-microsoft-access-database-to-sql-server-database/
You can download it from Microsoft
https://www.microsoft.com/en-us/download/details.aspx?id=54255

Delphi 3 to SQL 2008

One my clients has a system written in Delphi 3 and the database is Paradox. My job is to convert it to use SQL Server 2008. How can I make it connect to SQL 2008?
This is pretty old stuff, I know. I appreciate the help.
Thanks
At the very least BDE should be able connect using ODBC and choosing the SQL 2008 Driver in ODBC. I haven't tried, but I doubt that the BDE SQL driver will connect to SQL 2008, and I doubt anybody will develop a BDE driver for 2k8.
Do you intend on moving from Delphi 3? If so, then SDAC (SQL Server Direct Access Components) from Devart would be worth looking at. They support SQL Server 2008 but unfortunately require Delphi 5 or above. They use OLE DB and any Windows machine with 2000 or above will have the drivers installed (which is part of Microsoft Data Access Components - MDAC).
You can use ADO without using Ado Components, by importing ActiveX Data Objects Library, but this will require more work.
Why not upgrade the project to Delphi 2007 as a stepping stone towards the future? There have been many improvements and bug fixes to the language since Delphi 3 that you could easily take care of. The pain of migration might be much easier than dealing with issues which have been already addressed and corrected in the latest versions of the compiler.
You can try one of the Free Components from Torry.net to connect to the SQL server using ADO.
Check TaoADODataSet and Free ADO Dataset in the page http://www.torry.net/pages.php?id=569. These components have Delphi 3 support.

How do you work with SQL Server CE and SQL Server 2008 Express?

I have installed:
Visual C# 2008 Express
Visual Web Developer 2008 Express
Visual Studio 2008
SQL Server 2008 Express
SQL Server Management Studio
In Visual C# 2008 Express, I can "Add Item" and create a "Local Database" (.sdf file) or a "Service Based Database" (.mdf file).
Visual Studio 2008 is the same as Visual C# 2008 for applications but in Websites, the only way I can create .sdf or .mdf files is via the Database Explorer.
In Visual Web Developer 2008 Express, however, I can "Add Item" and ONLY create a "SQL Server Database" (.mdf file). Even the Database Explorer doesn't offer to create a SQL CE database.
Questions:
why the discrepency between the applications, is this normal or did something go wrong with my installations?
I never "installed SQL CE", where did it come from and how is it that I am able to create .sdf file?
How do you work with these in projects on a day to day basis, do you use Visual Studio to edit the databases or do you use SQL Server Management Studio?
I believe only Professional and above may create MSSQL CE databases.
SQL CE is installed with 2008 studio, I was surprised to see it myself and didn't see an option to exclude it.
Personally I use VS 2008 to add items to my project databases. Since it's open anyway I just use it. It provides most of the same functionality as Management Studio. If I am doing separate database work, I usually do it in Management studio.
The CE databases are pretty useless. They have a limited sub-set of types and functions. They do not support views or stored procedures. Basically they only store tables; I haven't attempted to create foreign keys in them.
There is no way to rename tables or columns. You must create a new table.
Once you create your database it must be manually added to your project.
You cannot directly create a LINQ to SQL class in VS2008 on a CE database. You need to use the command line tool sqlmetal (called from .NET console) to create the class for you.
I've had issues where the Class created for a CE database didn't work like a class built for a regular SQL database. Because of this I abandoned using a CE database all together.
It would be nice if there was a reliable way to use Linq to SQL on SQLite databases. SQLite is a great self-contained database not requiring any type of external engine.
Sorry I don't have any performance statistics for an SQL CE database.
I hope this is somewhat helpful.
Brett
Ok registered now and not sure why got a -1 vote on previous answer but will expand.
Web Developer Express 2008 Does not create or work with Sql Server CE simply because SQL Server CE is not designed to work on the Web Server.
When you load c# express or vb express. sql server express 2008 is offered to be installed. SQL CE isn't installed. if you go and add a data source the two I know will be there, Microsoft SQL Server Compact 3.5 (.NET Framework Data Provider for Microsoft SQL Server Compact 3.5)and Microsoft SQL Server Database File (SqlClient), the access client may be there also.
It should be noted with a default Express setup that if you choose to use the data provider for sql server compact it will fail even though it is an option. you would have to download sql server ce separately to create sdf databases.
Also Express versions are targeted to a different audience and doesn't have the same ui setup as the main vs sku's have. For example Web express in database setup doesn't even offer the choice to use sql server ce. while in VS it is a choice from the data menu mainly because VS supports more than just web developer.
Now you said you loaded VS 2008 (didn't say what version but doesn't matter since this affects standard and above)
The default install for vs 2008 will install Sql server ce (and as previous answer stated 3.1 was with rtm, 3.5 was with sp1). you can turn it off in advance options.
One concern I have is that you mention that you can't create a database in vs on web projects. which template are you using. You should be able to create server based database Items in add item and both local and server database objects in the data tab.
so in Summery.
on client based express skus and client based projects you should be able to create a local or server based database from add item and from the data tab.
Since sql CE is not officially supported on the Web Server. on the web skus in add Item you should only have access to create a server based database. on express since it is a dedicated sku CE isn't an option in either the data tab or the add item. on vs you can create a CE database from the Data tab. and you should have access to create a server database in add item.
sql server management studio doesn't care where the source is. so it will work with all and create the database.
I use all the options listed just depending on what or where I am at the time. as was mentioned CE on the desktop is primarily a cache database perfect for offline database support. but does have its limitations and in addition really needs better integration. once I am created or working with a database in support I primarily use management studio.
The key point in why you can't access CE from Web express is that CE is not supported on the web server.
Douglas
This is normal. The database types supported by the Visual Studio designer differ by edition. Note that any version of Visual Studio can write and use code that connects to any of those databases. It's just that the visual "wizard" tools included with the IDE that walk you through it are different for each edition.
SQL CE is the Compact Edition of sql server. It's intended for use on portable devices like smart phones or as an Access replacement for a local data store in desktop apps. It's very portable: only 2 dlls that clock in at less than 1Mb of disk space, and was probably included with at least one of your Visual Studio packages, probably all of them.
I normally do all my database work from Management Studio, but that's a personal preference.
The discrepancy is odd, but since SQL CE is a plugged-in item, it may well be that the team didn't test every possible scenario and some of the applications simply didn't get the info they needed to know that it's there. I'm not saying that anything went wrong - it may simply be a scenario that the SQL CE team never tested.
SQL CE was installed with Studio (can't recall offhand, but I think 3.1 shipped with the RTM and 3.5 shipped with SP1).
I always use Management Studio for making database modifications (except those done directly in code).

Resources