1

I'm new to set up and connect my F# code base to a MySQL database. So far, these are the following steps I've taken.

  1. brew install mysql
  2. set up and created username/password & database and started mysql server
  3. installed SQLProvider through NuGet
  4. I went to http://dev.mysql.com/downloads/connector/net/1.0.html and downloaded the MySql.Data.dll
  5. I took the MySql.Data.dll and moved it into {proj_path}/packages/SQLProvider.1.0.22/lib

And I have the following code

namespace lukecxufs
open FSharp.Data.Sql
module test = 
 let [<Literal>] resolutionPath = __SOURCE_DIRECTORY__
 let [<Literal>] connectionString = "Data Source=localhost"
 type sql = SqlDataProvider< 
 ConnectionString = connectionString,
 DatabaseVendor = Common.DatabaseProviderTypes.MYSQL,
 ResolutionPath = resolutionPath,
 IndividualsAmount = 1000,
 UseOptionTypes = true >

I keep getting an error saying

Unable to resolve assemblies. One of MySql.Data.dll must exist in paths
{proj_path}/lukecxufs../../files/sqlite
{proj_path}/packages/SQLProvider.1.0.22/lib

Also, I'm using mono if it makes a difference

Here's my folder structure below.

├── api
│  ├── AssemblyInfo.fs
│  ├── Program.fs
│  ├── api.fsproj
│  ├── bin
│  │  └── Debug
│  │  ├── FSharp.Data.SqlProvider.dll
│  │  ├── Suave.dll
│  │  ├── api.exe
│  │  └── api.exe.mdb
│  ├── obj
│  │  └── x86
│  │  └── Debug
│  │  ├── api.exe
│  │  ├── api.exe.mdb
│  │  └── api.fsproj.FilesWrittenAbsolute.txt
│  └── paket.references
├── api.sln
├── api.userprefs
├── packages
│  ├── FSharp.Core
│  │  ├── FSharp.Core.4.0.0.1.nupkg
│  │  ├── FSharp.Core.nuspec
│  │  ├── [Content_Types].xml
│  │  ├── _rels
│  │  ├── lib
│  │  │  ├── net20
│  │  │  │  ├── FSharp.Core.dll
│  │  │  │  ├── FSharp.Core.optdata
│  │  │  │  ├── FSharp.Core.sigdata
│  │  │  │  └── FSharp.Core.xml
│  │  │  ├── net40
│  │  │  │  ├── FSharp.Core.dll
│  │  │  │  ├── FSharp.Core.optdata
│  │  │  │  ├── FSharp.Core.sigdata
│  │  │  │  └── FSharp.Core.xml
│  │  │  ├── portable-net45+monoandroid10+monotouch10+xamarinios10
│  │  │  │  ├── FSharp.Core.dll
│  │  │  │  ├── FSharp.Core.optdata
│  │  │  │  ├── FSharp.Core.sigdata
│  │  │  │  └── FSharp.Core.xml
│  │  │  ├── portable-net45+netcore45
│  │  │  │  ├── FSharp.Core.dll
│  │  │  │  ├── FSharp.Core.optdata
│  │  │  │  ├── FSharp.Core.sigdata
│  │  │  │  └── FSharp.Core.xml
│  │  │  ├── portable-net45+netcore45+wp8
│  │  │  │  ├── FSharp.Core.dll
│  │  │  │  ├── FSharp.Core.optdata
│  │  │  │  ├── FSharp.Core.sigdata
│  │  │  │  └── FSharp.Core.xml
│  │  │  ├── portable-net45+netcore45+wpa81+wp8
│  │  │  │  ├── FSharp.Core.dll
│  │  │  │  ├── FSharp.Core.optdata
│  │  │  │  ├── FSharp.Core.sigdata
│  │  │  │  └── FSharp.Core.xml
│  │  │  └── portable-net45+sl5+netcore45
│  │  │  ├── FSharp.Core.dll
│  │  │  ├── FSharp.Core.optdata
│  │  │  ├── FSharp.Core.sigdata
│  │  │  └── FSharp.Core.xml
│  │  └── package
│  │  └── services
│  │  └── metadata
│  │  └── core-properties
│  │  └── bb309a7e309548529b66e5b42059dbb1.psmdcp
│  ├── MySql.Data
│  │  ├── CHANGES
│  │  ├── MySql.Data.6.9.9.nupkg
│  │  ├── MySql.Data.nuspec
│  │  ├── Readme.txt
│  │  ├── [Content_Types].xml
│  │  ├── _rels
│  │  ├── content
│  │  │  ├── app.config.transform
│  │  │  └── web.config.transform
│  │  ├── lib
│  │  │  ├── net40
│  │  │  │  └── MySql.Data.dll
│  │  │  └── net45
│  │  │  └── MySql.Data.dll
│  │  ├── license.html
│  │  └── package
│  │  └── services
│  │  └── metadata
│  │  └── core-properties
│  │  └── 8a5d4fe3e48745aea7a6ec39787d6703.psmdcp
│  ├── SQLProvider
│  │  ├── SQLProvider.1.0.22.nupkg
│  │  ├── SQLProvider.nuspec
│  │  ├── [Content_Types].xml
│  │  ├── _rels
│  │  ├── lib
│  │  │  └── FSharp.Data.SqlProvider.dll
│  │  └── package
│  │  └── services
│  │  └── metadata
│  │  └── core-properties
│  │  └── addc797a97984054a5bf88ae510977a5.psmdcp
│  └── Suave
│  ├── Suave.1.1.3.nupkg
│  ├── Suave.nuspec
│  ├── [Content_Types].xml
│  ├── _rels
│  ├── lib
│  │  └── net40
│  │  ├── Suave.dll
│  │  ├── Suave.pdb
│  │  └── Suave.xml
│  └── package
│  └── services
│  └── metadata
│  └── core-properties
│  └── bfd111f5611143d39dfd308db403a690.psmdcp
├── paket.dependencies
└── paket.lock
ildjarn
63.2k9 gold badges133 silver badges219 bronze badges
asked Jul 16, 2016 at 22:44

1 Answer 1

2

I think the resolutionPath might be incorrect since you are supposed to give location to MySql.Data.dll file, could you try

let [<Literal>] resolutionPath = __SOURCE_DIRECTORY__ + "/packages/SQLProvider.1.0.22/lib/"

and see if that helps?

answered Jul 16, 2016 at 22:51

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.