F # Type провайдеры, 2 базы данных, можно получить доступ к метаданным, которые нельзя - PullRequest
1 голос
/ 11 апреля 2019

F # .net core 2.1 Project, в частности, с использованием провайдеров типов

  • SQLProvider - 1.1.16
  • Fsharp.Core 4.5.2
  • Fsharp.Data 3.0.1
  • System.Data.SqlClient 4.6.0

Да, Linq тоже открыт, иначе первый дБ не получится.

У меня есть несколько баз данных на одном сервере MS SQL 2017 (140) Я получаю доступ к одной базе данных просто отлично, но не к другой

когда строка подключения указывает на базу данных First, intellisence работает очень хорошо и возвращает список объектов в Dbo. Схема и позволяет мне получить результаты любого запроса.

При переключении на другую базу данных интеллигенция работает для ctx.functions, ctx.procedures просто отлично, при попытке ctx.Dbo. он отображает (красный круг) и дальше не пойдет?

Выход из VS и та же ошибка, ошибка длинна страниц, поэтому она слишком велика для размещения здесь. Что происходит, учетные данные хороши, и я сравнил все свойства базы данных, они выглядят одинаково. И кроме того, он получает некоторые метаданные из других БД. Есть какие-нибудь мысли? Заранее спасибо

let [<Literal>] Conn_str = @"Data Source=MYCOdbServer;Initial Catalog=MyCompDB1;Integrated Security=SSPI; User ID=validid;Password=validpass; Connection Timeout=900"

type dbProv = SqlDataProvider<ConnectionString = Conn_str, DatabaseVendor = Common.DatabaseProviderTypes.MSSQLSERVER>

let ctx = dbProv.GetDataContext()

let test_func_connect =

        query { for x in ctx.Dbo.DimDate do

                        select x }

- использовать sql profiller как предложено - sql представленный выглядит так же

- добавлено ниже части сообщения об ошибке, относящегося к:

get_AccountBalances func? dataContext + dboSchema 'member' GetProperties ': поставщик типов' FSharp.Data.Sql.SqlTypeProvider 'сообщил об ошибке: GetMethodImpl. не поддерживает перегрузки, name = 'get_AccountBalances', методы - '[| Метод get_AccountBalances; Метод get_AccountBalances |] ', callstack =' "в System.Environment.GetStackTrace (Исключение e, логическое значение needFileInfo) в System.Environment.get_StackTrace () в ProviderImplementation.ProvidedTypes.ProvidedTypeDefinition.GetMetingBlayBFBD _callConvention, Type [] _types, ParameterModifier [] _modifiers) в System.Type.GetMethod (имя строки, BindingFlags bindingAttr, связыватель Binder, типы [], ParameterModifier [] модификаторы) в ProviderImplementation.ProvidedTypes.ProvidedTefetFfoToMoToPes при реализации провайдера

...