有关sqlcmd的参数说明,感兴趣的读者可以参考MSDN:
http://msdn.microsoft.com/en-us/library/ms162773.aspx
(2)可以使用下面的sqlcmd命令行连接到SQL Azure数据库。
Sqlcmd –U -P
参数说明:
Userlogin:登陆数据库的用户名,如sqladmin@unjikh4kim
Servername:服务器名称,如unjikh4kim
Passwords:密码
Fully Qualified ServerName:服务器的全名,如unjikh4kim.database.windows.net
database name:数据库名称,如TestDB
执行示例命令行:
sqlcmd -U sqladmin@ unjikh4kim -P pass@word -S unjikh4kim.database.windows.net -d TestDB
执行完成后,连接上数据库,会返回1,否则返回错误信息。
(3)连接上数据库后,可以使用如下的命令行:
创建表的示例命令行:
CREATE TABLE CloudTable
(ColNumber1 int primary key clustered, ColNumber2 varchar(50), ColNumber3 float);
显示系统信息的命令行:
SELECT * FROM sys.tables
不仅支持创建数据库、表,还可以执行插入、删除、查询语句,但是需要注意的是在第一和第二两种方法连接到SQL Azure数据库中,并不是所有的SQL 语句都被支持,还有一些不被推荐使用的方式尽量避免使用,感兴趣的读者可以参考:中文:http://msdn.microsoft.com/zh-cn/library/ms143729.aspx;英文:http://msdn.microsoft.com/en-us/library/ee336253.aspx
使用ADO.Net连接SQL Azure数据库
在.Net环境下,连接数据库最常用的方法是使用ADO.Net。在SQL Azure环境下,ADO.Net可以继续使用,这样对于.Net环境下的开发者来说,不用学习新的知识与技能就可以很容易的连接到SQL Azure数据库上,这也符合微软所一直在宣传的云计算战略,减少了单独学习云应用开发的成本。
要使用ADO.Net连接SQL Azure,有两种方法,一种是通过SQL Azure的门户管理页面提供的连接字符串来连接;另一种方法是在程序里硬写,下面我们来介绍第二种方法。
使用程序连接到SQL Azure,需要使用System.Data.SqlClient.SqlConnectionStringBuilder类,实例代码如下:
{
SqlConnectionStringBuilder connBuilder =
new SqlConnectionStringBuilder();
string server = "unjikh4kim.database.windows.net";
connBuilder.DataSource = server;
connBuilder.InitialCatalog = "TestDB";
connBuilder.Encrypt = true;
connBuilder.TrustServerCertificate = true;
connBuilder.UserID = "sqladmin";
connBuilder.Password = "pass@word";
return connBuilder.ToString();
}
使用连接字符串,执行SQL语句
private void ExcuteSQL()
{
using (SqlConnection conn = new SqlConnection(GetDbConnection()))
{
using (SqlCommand command = conn.CreateCommand())
{
conn.Open();
// 创建表
command.CommandText =
"CREATE TABLE MyTable1(Column1 int primary key clustered, " +
"Column2 varchar(50), Column3 datetime)";
command.ExecuteNonQuery();
// 插入数据
command.CommandText = String.Format
("INSERT INTO MyTable1 (Column1, Column2, Column3) " +
"values ({0}, '{1}', '{2}')", 1, "TestData", DateTime.Now.ToString("s"));
int rowsAdded = command.ExecuteNonQuery();
DisplayResults(command);
}
}
}