gpt4 book ai didi

f# - SqlDataConnection 类型提供程序 - 使用脚本参数设置数据库连接字符串

转载 作者:行者123 更新时间:2023-12-04 11:05:09 26 4
gpt4 key购买 nike

使用 SqlDataConnection 类型提供程序的正常方法如下:

type dbSchema = SqlDataConnection<"Data Source=MYSERVER\INSTANCE;InitialCatalog=MyDatabase;Integrated Security=SSPI;">
let db = dbSchema.GetDataContext()

但是,我们有一个问题,即我们想在 f# 脚本中使用此类型提供程序,其中数据库的连接字符串作为参数传递。所以我想做的是这样的:
let connectionString= Array.get args 1
type dbSchema = SqlDataConnection<connectionString>

但是它给出了错误“这不是常量表达式或有效的自定义属性值”

有没有办法做到这一点?

最佳答案

不幸的是没有办法做到这一点,类型提供程序需要一个编译时文字字符串。这样,当您编译应用程序时,类型提供程序就能够连接和检索有关数据库的元数据并为编译器生成类型。您可以选择将连接字符串提取为字符串文字,方法是将其写入表单

[<Literal>] let connString = "Data Source=..."
type dbSchema = SqlDataConnection<connString>

假设您的 2 个数据库具有相同的架构,则可以将运行时连接字符串作为参数提供给 GetDataContext 方法,例如
let connectionString = args.[1]
let dbContext = dbSchema.GetDataContext(connectionString)

关于f# - SqlDataConnection 类型提供程序 - 使用脚本参数设置数据库连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27170701/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com