用C#将oracle数据写入SQLSERVER
时间: 2023-09-30 07:01:51 浏览: 69
可以通过以下步骤将Oracle数据写入SQL Server:
1. 使用Oracle的OLEDB提供程序连接到Oracle数据库。
```c#
string connString = "Provider=OraOLEDB.Oracle;Data Source=OracleDB;User ID=Username;Password=Password";
OleDbConnection conn = new OleDbConnection(connString);
```
2. 使用SQL Server的.NET提供程序连接到SQL Server数据库。
```c#
string connString = "Data Source=SqlServerDB;Initial Catalog=DatabaseName;Integrated Security=True";
SqlConnection conn = new SqlConnection(connString);
```
3. 使用OracleDataAdapter将数据从Oracle中检索出来。
```c#
string query = "SELECT * FROM OracleTable";
OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
```
4. 使用SqlBulkCopy将数据写入SQL Server。
```c#
SqlBulkCopy bulkCopy = new SqlBulkCopy(conn);
bulkCopy.DestinationTableName = "SqlTable";
bulkCopy.WriteToServer(dataTable);
```
完整的代码如下:
```c#
string oracleConnString = "Provider=OraOLEDB.Oracle;Data Source=OracleDB;User ID=Username;Password=Password";
string sqlServerConnString = "Data Source=SqlServerDB;Initial Catalog=DatabaseName;Integrated Security=True";
using (OleDbConnection oracleConn = new OleDbConnection(oracleConnString))
{
oracleConn.Open();
using (SqlConnection sqlServerConn = new SqlConnection(sqlServerConnString))
{
sqlServerConn.Open();
string query = "SELECT * FROM OracleTable";
using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, oracleConn))
{
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlServerConn))
{
bulkCopy.DestinationTableName = "SqlTable";
bulkCopy.WriteToServer(dataTable);
}
}
}
}
```