Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

sqlfront.h hell on VS2005/MSQL2005

Status
Not open for further replies.

kdd21

Programmer
Dec 16, 2005
8
US
This may be crossposted to some other forums out of sheer desperation...

Been working in Visual Studio 2005 and got to the point where I needed to build a native program that interfaces with SQL Server via the bulk copy API. So, I d/l'ed SQL Server 2005, installed it and tried a simple example from MSDN from the bcp_bind
documentation.

Fails because it is unable to find "sqlfront.h." I search the web. Best suggestion I can find is to install the "Platform SDK" Installed that. Installed everything I could find from the SQL Server 2005 distribution CDs. "sqlfront.h" is not in "Visual Studio 8/VC/PlatformSDK/include or
"VIsual Studio 8/VC/include", where I would have thought they might end up.

Found a reference that indicated there may be some kind of SQL Server SDK, or "Microsoft SQL Server Programmers Toolkit" that I might need to download, but so far I've been unable to find one. Toolkit appears to be obsolete anyway. Other suggestions indicate it may be included in the Platform SDK, but I already tried that, no cigar...

Did a search of the whole computer. It found a copy of sqlfront.h, one in "Microsoft Visual Studio/VC98/include"-- which is one from VS 6.0, as I also have VS 6.0 on this system as that is what our current development uses, we're trying to move some things to .NET, and that's the only one it found.. Can I just use the includes from VS 6.0? Are these the latest ones and that's why I've been unable to find ones for VS 2005? Did Platform SDK install it in the wrong tree? If so, how do I correct for that? Can VS 2005 link with the ssociated library files from VS 6.0? How are you
*supposed* to get these darn files so the stupid example will compile?

I'm on XP SP2 BTW, and in the MSDN developer program (msdn universal volume license), if that is of any relevance.

Uninstalling VS 6.0 is not an option, that's what all our current development is using. Installing VS 2005 on another PC is not an option, I'm the only developer in this particular office and they aren't going to buy me a new PC to do this. Deciding NOT to transition to .NET and VS 2005 is an option however, and the one I'm currently giving the most serious consideration. Uninstalling VS 2005 and going to VS 2003 or something could be an option, but it would be nice to know if it would actually fix the problem. Reverting to an eariler SQL Server version could be an option as well, but again, it'd be nice to know that it would actually fix the problem.

I also noted that doing searches for stuff on MSDN does not make it very clear WHICH version of whatever (VS, VC++, SQL Server, etc.) the information applies to. Often I would find pages and wonder if it applies to the .NET version or is leftover from some previous incarnation of the product and possibly no longer applies to the .NET version. Best I can tell, you can't restrict searches by product version (if I'm wrong, please enlighten me). What a nightmare-- I've just spent 2 days trying to get the simplest of example programs to compile a native program on VS 2005.

Plenty of other people seem to have inquired about
the location of sqlfront.h though, I notice, yet so far I've not found a response that was helpful to me.

Has ANYONE been able to compile a native VC++ program that talks to SQL Server on the 2005 versions of VS & SQL Server? Was it my mistake because I happened to choose to try the "latest" versions of these products just as they came out,
and thought I could actually do something useful with them?

If you've been able to make it work, where does your sqlfront.h file live on your system? Any idea how it got there?

--
 
I saw a ref to this elsewhere but the link it pointed to had a disclaimer about obsolete stuff and I couldn't see a download hook. This probably is pretty old but I might try it.

What I'm going to do first though is do a thorough search of the distribution media to see if it's hiding in a cab file somewhere or something, at least if I can figure out if it's there I can then figure out how to get it installed...

I figure if I just add the VC98 link to my include path that could cause problems as there'll be duplicates of all the regular include files there-- so if I do have to try using the old VS6.0 includes I would think I'd want to copy them in one by one and not add all several hundred VS6.0 include files to my VS 2005 paths...

Thanks for the info...

--

 
Learned a little more. Looks like the includes I need are supposed to be in Program Files/Microsoft SQL Server/80/Tools/DevTools.

Or perhaps Program Files/Microsoft SQL Server/90/Tools/Devtools.

So I uninstalled all of SQL Server 2005 (developer edition)
and reinstalled it from scratch. I checked to install
EVERYTHING. No DevTools directory to be found.

So I then tried the .NET Framework SDK (already did the
Platform SDK). Am now d/l'ing three items from the
SQL Server 2005 Feature Pack that seem like they might
have it-- Native Client, Backward Compatibility Components,
Management Objects Collection.

If none of that works I'll uninstall 2005 again, and this
time try installing SQL Server 2003, as by that time I'll
be convinced that the developer includes just ain't in the
2005 edition...

Will report what I find here...

--

Sync
 
AAAAARRRRRRGGGGGHHHHHH!!!!! Found the answer:

Looks like they changed the interface somewhat, and it wasn't easy
to determine that-- the bcp_bind example was for SQL Server 2000,
and it hasn't been updated for SQL Server 2005.

Apparently, "sqlfront.h" and "sqldb.h" no longer exist. The old bulk
copy functions are now ODBC based and use the include "sqlncli.h" and
an ODBC handle instead of a DBPROCESS structure. There was an article
in the books online entitled "Converting from DB Library to ODBC Bulk
Copy functions" that explains the difference, which I never found
because I didn't know about it and doesn't mention the differences in
the includes, which is what breaks when you try the example found
on the MSDN library (which is for SQL Server 2000).

So, I'm going to work on converting the example to an ODBC version
based on the articles I've found......
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top