无法创建与 sqlite 数据库的连接
Can't create connection to an sqlite DB
我编写了一个代码,可以在执行软件的文件夹中自动创建数据库。数据库创建成功,但是当我为连接创建对象时显示此异常:
System.Data.SqlClient.SqlException (0x80131904): There was a network error or specific instance while trying to establish a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) ---> System.ComponentModel.Win32Exception (0x80004005): Can not find the file specified
这一行:
con.Open();
但我认为问题出在这个连接声明上:
static SqlConnection con = new SqlConnection(
"Server=localhost;Database=AppDB.sqlite;");
我做错了什么?
更新详情:
SqlCommand command = new SqlCommand(@"INSERT INTO Team (name,code, shortName, squadMarketValue,
crestUrl, link_self, link_fixtures, link_players, caption) VALUES (@name,
@code,@shortName,@squadMarketValue,@crestUrl,@link_self,@link_fixtures,
@link_players,@caption)", con);
您如何看出我正在使用参数化查询,如果我使用这个对象:
static SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=SoccerForecast.sqlite;Version=3;");
con
变量带有红色下划线,编译器告诉我:
it is not possible to convert SqliteConnection in SqlConnection
您的连接有误。您没有在问题中指定要连接的数据库类型。当您使用 sql 连接对象时,会提到 SQLite。 sql 连接对象用于连接到 ms sql 服务器数据库。如果您真的想连接到 MS sql 服务器数据库,您需要更改连接字符串以提供用户名/密码或 Trusted_Connection=True
以使用您的 windows 帐户。
但是,如果您尝试连接的数据库是 SQLite 数据库,则必须使用不同的连接对象。 This and this SO question 提供有关可用库和示例的答案,这些库和示例将解释如何创建与 SQLite 数据库的连接。
当您需要生成连接字符串时,站点 connectionstring.com 也是一个很好的资源。
我编写了一个代码,可以在执行软件的文件夹中自动创建数据库。数据库创建成功,但是当我为连接创建对象时显示此异常:
System.Data.SqlClient.SqlException (0x80131904): There was a network error or specific instance while trying to establish a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) ---> System.ComponentModel.Win32Exception (0x80004005): Can not find the file specified
这一行:
con.Open();
但我认为问题出在这个连接声明上:
static SqlConnection con = new SqlConnection(
"Server=localhost;Database=AppDB.sqlite;");
我做错了什么?
更新详情:
SqlCommand command = new SqlCommand(@"INSERT INTO Team (name,code, shortName, squadMarketValue,
crestUrl, link_self, link_fixtures, link_players, caption) VALUES (@name,
@code,@shortName,@squadMarketValue,@crestUrl,@link_self,@link_fixtures,
@link_players,@caption)", con);
您如何看出我正在使用参数化查询,如果我使用这个对象:
static SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=SoccerForecast.sqlite;Version=3;");
con
变量带有红色下划线,编译器告诉我:
it is not possible to convert SqliteConnection in SqlConnection
您的连接有误。您没有在问题中指定要连接的数据库类型。当您使用 sql 连接对象时,会提到 SQLite。 sql 连接对象用于连接到 ms sql 服务器数据库。如果您真的想连接到 MS sql 服务器数据库,您需要更改连接字符串以提供用户名/密码或 Trusted_Connection=True
以使用您的 windows 帐户。
但是,如果您尝试连接的数据库是 SQLite 数据库,则必须使用不同的连接对象。 This and this SO question 提供有关可用库和示例的答案,这些库和示例将解释如何创建与 SQLite 数据库的连接。
当您需要生成连接字符串时,站点 connectionstring.com 也是一个很好的资源。