[Mono-list] sqlmetal on Mono 2.6 preview
Costantino Pipero
cos at beeond.net
Tue Dec 8 18:09:19 EST 2009
Thank you Jonathan,
there is actually a sqlmetal.bat in the bin dir that does what you
suggested.
Anyway, I got passed that and the password thing (see
http://www.digitalpeer.com/id/mysql).
But it still gets an error complaining about worng "syntax near '?db'"... it
looks like it's not resolving the database name that I pass in the conn
string (I also try using separate arguments instead of the conn, but very
same error)
C:\PROGRA~1\Mono-2.6\bin>sqlmetal
/conn:Server=localhost;Database=adventureworks;Uid=root;Pwd=somePwd
/code:AdventureWorks.cs /provider=MySQL
DbLinq Database mapping generator 2008 version 0.19
for Microsoft (R) .NET Framework version 3.5
Distributed under the MIT licence (http://linq.to/db/license)
>>> Reading schema from MySQL database
sqlmetal failed:ByteFX.Data.MySqlClient.MySqlException: You have an error in
you
r SQL syntax; check the manual that corresponds to your MySQL server version
for
the right syntax to use near '?db' at line 3
at ByteFX.Data.MySqlClient.Driver.ReadPacket () [0x00000]
at ByteFX.Data.MySqlClient.Driver.Send (DBCmd cmd, System.Byte[] bytes)
[0x000
00]
[...]
I really don't know how to troubleshoot this one. THanks again for the help
Cos
--------------------------------------------------
From: "Jonathan Pryor" <jonpryor at vt.edu>
Sent: Monday, December 07, 2009 10:51 PM
To: "Costantino Pipero" <cos at beeond.net>
Cc: <mono-list at lists.ximian.com>
Subject: Re: [Mono-list] sqlmetal on Mono 2.6 preview
> On Mon, 2009-12-07 at 19:42 -0500, Costantino Pipero wrote:
>> No matter what syntax I try (I am trying to connect to a MySQL db
>> called "adventureworks"), I get the same error.
>
> As a side note, you're missing the /provider option, so you should
> actually be seeing an error message about missing the /provider option,
> not spew about a TypeLoadException. That said...
>
>> For example:
>>
>> C:\Program Files\Mono-2.6\lib\mono\2.0>sqlmetal /server:localhost:3306
>> /namespace:sdventureworks /code:AdventureWorks.cs /language:csharp
>
> You're launching it wrong. This will use .NET to start sqlmetal...
>
>> returns
>>
>> Unhandled Exception: System.TypeLoadException: Could not load type
>> 'DbLinq.Facto
>> ry.ObjectFactory' from assembly 'System.Data.Linq, Version=3.5.0.0,
>> Culture=neut
>> ral, PublicKeyToken=b77a5c561934e089'.
>> at DbMetal.Program.Main(String[] args)
>
> ...and (obviously?) .NET's System.Data.Linq.dll won't contain
> DbLinq.Factory.ObjectFactory.
>
> You need to use Mono to start sqlmetal, thus ensuring that Mono's class
> library is used to launch the app, e.g.
>
> path\to\mono.exe path\to\sqlmetal.exe ...
>
> - Jon
>
>
More information about the Mono-list
mailing list