更改MS SQL Server版本时,软件无法运行

时间:2012-09-12 08:03:47

标签: c# sql sql-server

我在我的软件(OS-XP)中使用SQL Server 2005数据库 - 服务器。当我将服务器更改为SQL Server 2008(OS-windows 7)时,该软件无效。

我调试了程序,并在代码的一部分中找到了Array index out of bounds exception,当我将该代码更改为工作正常时,是否有人可以告诉我这个问题的原因是什么?

String cnnStr = String.Format("Data Source = {0}; Initial Catalog = {1}; Integrated Security = SSPI; persist security info=False; Trusted_Connection=Yes",ServerName, Databasae);

sqlConnection = new SqlConnection(cnnStr);
sqlConnection.Open();

原始代码

 Server server = new Server(new ServerConnection(sqlConnection));
 Database db = server.Databases[Databasae];
 Table Table = new Table(db, TableName);
 Column TimeColumn = new Column(Table, "DateTime");
 TimeColumn.DataType = DataType.DateTime;
 TimeColumn.Nullable = false;
 Column ValueColumn = new Column(Table, "Value");
 ValueColumn.DataType = DataType.Float;
 ValueColumn.Nullable = false;
 Table.Columns.Add(TimeColumn);
 Table.Columns.Add(ValueColumn);
 Table.Create();

新代码

 StringBuilder query = new StringBuilder();
 query.Append("CREATE TABLE ");
 query.Append(TableName);
 query.Append(" (  [DateTime] DateTime , Value float(10) )");

 SqlCommand sqlQuery = new SqlCommand(query.ToString(), sqlConnection);
 SqlDataReader reader = sqlQuery.ExecuteReader();

 reader.Close();

1 个答案:

答案 0 :(得分:3)

您需要将SMO SDK更新为SQL 2008版本,并删除所有2005年的引用,因为您不再使用SQL 2005。

您可以在此处阅读更多有关此主题的内容:

http://msdn.microsoft.com/en-us/library/ms162129.aspx