Aller au contenu

Photo

MySQL Database Connection using MS OLE DB Provider for ODBC


  • Veuillez vous connecter pour répondre
5 réponses à ce sujet

#1
Themicles

Themicles
  • Members
  • 3 messages
Trying to use my pre-existing MySQL server on my network using the Microsoft OLE DB Provider for ODBC Drivers.
ConfigureToolset.exe is able to connect to my MySQL database server just fine with this setup.

However, the toolset fails to load with the following error:
Sun Nov 08 13:31:03 2009, INFO, "C:\\tag\\main\\dev\\tools\\sdk\\src\\PluginAPI.cpp", 106, "Initializing toolset."
Sun Nov 08 13:31:04 2009, ERROR, "d:\\DASecuROMBuild\\main\\dev\\tools\\sdk\\include\\toolsoledb.h", 226, "[MySQL][ODBC 5.1 Driver][mysqld-5.0.51a-3ubuntu5.4]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[Value] FROM t_GlobalParameters WHERE [Name] = _latin1'DatabaseVersion'' at line 1"
Sun Nov 08 13:31:04 2009, ERROR, ".\\ConnectionData.cpp", 214, "CConnectionData::ConnectIO caught an exception: Bad HRESULT: 80040e14"

The relevant version numbers in that error are MySQL ODBC Driver version 5.1 and MySQL Server version 5.0.51a-3ubuntu5.4.

So, apparently we're allowed to select any OLE Provider installed on our systems, but the toolset really only supports MS SQL because it cannot form SQL queries with proper syntax for MySQL.

Please understand that I do understand that MS SQL is probably what BioWare used when they designed the toolset, and made Dragon Age with that toolset. But some of us already have database servers, and have absolutely no interest in installing a Microsoft database server on our desktop/development PCs when we already have a computer on our network dedicated to this purpose. That computer already runs Linux, so no I can't just install the MS SQL server there along side it.

Is there any hope of a solution to this, or should I resign myself to cluttering this PC with more Microsoft crap if I ever want to produce any adventures for Dragon Age?

#2
ValnKmere

ValnKmere
  • Members
  • 216 messages
It's probably simplest to use the local SQL server but you can use a different Windows system as a SQL server.



1. Load the toolset on your system and the database server.

2. Once complete load the SQL 2005 Express Studio (download from Microsoft) and detach the database files

3. Create new databases with the same names on a separate Windows SQL 2005 server

4. Copy the detached database files from your toolset workstation to the new SQL 2005 server.

5. Attach the database files on the new server.

6. Run the toolset configuration tool and connect to the new server.

7. Once it works, remove SQL 2005 from your toolset workstation.



I haven't tested this, but having been an MS SQL admin this works on other databases.


#3
Themicles

Themicles
  • Members
  • 3 messages
Please read my entire post. I have a server dedicated for database and file serving use on the network. It already runs Linux, and I will not be buying a Windows license to replace the Linux install so that I can install an MS SQL server on it. And while this PC is used for development on various projects, I have no interest in piling even more crap on it if I can help it. In fact, I'd argue that's even more reason to not pile more crap on.

#4
Gradecurve

Gradecurve
  • Members
  • 1 messages
Like pretty much every DBMS, MySQL and MSSQL speak vastly different dialects, there's no compatibility. There's a lot of T-SQL specific stuff going on that MySQL can't handle. ODBC will do hideous things like truncate long field names on top of that, so you'll definitely have an easier time with MSSQL Express.



Express isn't so bad, as long as you don't hold any hopes of sqlcmd.exe being half as good as the mysql command-line client, because it's kind of terrible. The server itself is pretty lightweight, hardly noticeable until something connects to it.



(kind of wish it used sqlite myself, since it's tiny & non-invasive. changed my mind after looking at the actual database though - there's nothing tiny or non-invasive about this monster.)

#5
Themicles

Themicles
  • Members
  • 3 messages
I understand they're different. And believe me, I tried everything before going through ODBC, including a third party MySQL OLE DB provider.

I guess I'm just wishing BioWare had supported more than just MS SQL and given us a choice. Heck, when NWNX first came about for NWN, the community members that made that program gave us plenty of options. I originally ran my PW on a Fox Pro database... Then briefly MS SQL, and finally MySQL. I just hate being locked into an MS product that I wont ever use for anything else.

And given that someone will inevitably read this post and make assumptions or only read part of it. Yes, I know DAO doesn't have multiplayer. I know that you cannot make a PW with it. I merely mentioned it as a reference. I'm not trying to make a PW, I don't want to make a PW.

#6
IsawaKaede

IsawaKaede
  • Members
  • 4 messages
I Agree with themicles, I'm using the game on Ubuntu, I have mysql server installed for personal projects, so I'd love being able to link the toolset with mysql. Bioware, please, think on opensource solutions, they'll be used by both MS and nonMS users. Why losing part of the market?