string sqlConnectionString = String.Format(@"Data Source={0};Initial Catalog={1};Integrated Security=True;MultipleActiveResultSets=True", server, database);
string mdbConnectionString = String.Format(@"Provider=Microsoft.JET.OLEDB.4.0;data source={0};", @"C:\test\test.mdb");
using (var mdbConnection = new OleDbConnection(mdbConnectionString))
using (var sqlConnection = new SqlConnection(sqlConnectionString))
{
mdbConnection.Open();
sqlConnection.Open();
// Empty table
var sqlQuery = String.Format("DELETE FROM Languages");
var sqlCommand = new SqlCommand(sqlQuery, sqlConnection);
sqlCommand.ExecuteNonQuery();
// Fill table with new information
sqlQuery = String.Format("INSERT INTO Languages (ID, lang) " +
"SELECT ID, lang " +
"FROM OPENROWSET('" + mdbConnection.Provider + "', '" + mdbConnection.DataSource + "'; 'admin'; '', Languages)");
sqlCommand = new SqlCommand(sqlQuery, sqlConnection);
sqlCommand.ExecuteNonQuery();
}
第二个sqlCommand
在调用ExecuteNonQuery
时引发此错误:
System.Data.SqlClient.SqlException:'无法为链接服务器'(null)'创建OLE DB提供程序'Microsoft.JET.OLEDB.4.0'的实例。.''
我想念什么?
您需要在显示的现有代码之前添加代码,才能设置sql服务器的服务器和数据库名称。请检查您是否拥有它-服务器名称和数据库名称正确。服务器名称通常可以是文本或IP地址(但在字符串两边加上引号,例如:“ 10.1.99.21”
Dim server as String
Dim database as String
server = "mySqlServerName"
database = "myDatabaseName"