vb.net - DynamicDatabaseFactory.CreateDatabase 连接字符串解析出错
问题描述
我对 DynamicDatabaseFactory 不是很熟悉,也没有很多信息。我正在对一个站点进行更改,我只是想让它在我的开发机器上运行,我遇到了这个问题,行:DynamicDatabaseFactory.CreateDatabase(MyConnectionString, DBProviderType.SqlServer)
生成此错误:[ArgumentOutOfRangeException: Index and length must refer to a location within the string.
。我知道连接字符串很好,因为它用于应用程序的其他区域并且可以毫无问题地连接到数据库。在调试器中,我可以看到正确提供了字符串。那么我错过了什么?
解决方案
通过使用该方法的重载之一,我能够使其工作CreateDatabase
:
Static db As Database = DynamicDatabaseFactory.CreateDatabase("localhost\SQLEXPRESS", "MYDB", "username", "password", DBProviderType.SqlServer)
此重载允许您将服务器、数据库、用户名和密码传递给方法,而不仅仅是传递连接字符串。我怀疑,但无法确认,之前编码的调用在解析连接字符串的服务器部分时出现问题,我在开发环境中使用 Sql Express,数据库位于"localhost/SQLEXPRESS"
,生产使用完整版本的 Sql Server,即位于"localhost"
。无论如何,我能够使用上面的代码行来完成工作。
推荐阅读
- javascript - 只允许一个函数使用包装函数运行 n 次
- python - VS Code Pymakr - 终端进程命令无法启动
- reporting-services - ssrs 中的组总数
- laravel - unserialize():40 字节偏移量 0 处出错
- python - 使用请求抓取 AJAX 页面
- django - Django - 管理员 save_model() 和 post_save 信号之间的区别
- python - 使用opencv python进行边缘框检测
- python - Numpy切片变长矩阵
- php - 找不到驱动程序
- python - 如何将xml数据解析成不同的格式?