加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

f# – SqlDataConnection类型提供程序 – 使用脚本参数设置数据

发布时间:2020-12-12 08:50:46 所属栏目:MsSql教程 来源:网络整理
导读:使用SqlDataConnection类型提供程序的常规方法如下: type dbSchema = SqlDataConnection"Data Source=MYSERVERINSTANCE;InitialCatalog=MyDatabase;Integrated Security=SSPI;"let db = dbSchema.GetDataContext() 但是我们遇到一个问题,我们希望在f#脚本中
使用SqlDataConnection类型提供程序的常规方法如下:
type dbSchema = SqlDataConnection<"Data Source=MYSERVERINSTANCE;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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读