如何在不使用导入向导的情况下使用sql查询将excel文件导入sqlserver2008 express版中的新表
谢谢Prady
我正在尝试将当前的Express版本升级为Express with Advanced Services以支持全文搜索.
目前的系统设置是:
我已经下载了带有高级服务的SQL Server.我无法升级版本.安装步骤没有任何问题,甚至获得版本升级完成页面.但是一旦我点击关闭此页面,就会弹出一个错误.
SQL Server安装程序遇到以下错误:在创建窗口句柄之前,无法在控件上调用Invoke或BeginInvoke.
有人可以帮助我到正确的方向吗?
我可以看到带有高级服务的SQL Server Express版本是10.50.1600.1.这是原因吗?那么在升级之前我应该将sp1降级到正常的Express r2版本吗?
带有高级服务的Express的下载链接http://www.microsoft.com/download/en/details.aspx?id=25174
我使用SQL SERVER 2008 R2 Express.
我正在myDatabase使用以db owner username 命名的数据库的新项目myUsernamae.
我想使用ALTER ROLE而不是sp_addrolemember由于Microsoft的关于sp_addrolemember(Transact-SQL)的消息:
重要此功能将在Microsoft SQL Server的未来版本中删除.避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序.请改用ALTER ROLE.
我试过了
USE [myDatabase]
GO
ALTER ROLE [db_owner] ADD MEMBER [myUsername]
GO
Run Code Online (Sandbox Code Playgroud)
但我不断收到此错误消息:
关键字"ADD"附近的语法不正确.
什么是正确的语法?
我在云计算机上的Windows 2008服务器上安装了一个有效的SQL Server 2008 R2 Express.除了OLEDB之外,来自多个客户端应用程序的所有类型的连接(ado.net,nhibernate等)都可以正常工作.SQL Native Client也可以正常工作.
当我尝试从本地服务器连接并作为数据源写入实例名称时,一切正常.但是从外面来看,我遇到了问题,或者如果我写的是万能或者dns,我也有问题来自当地.
-- works perfect from everywhere
Provider=SQLNCLI10;Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx;
-- does not work from anywhere
Provider=SQLOLEDB.1;Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx;
-- works only from local
Provider=SQLOLEDB.1;Data Source=flz001\sqlexpress;User ID=xxx;Password=xxx;
Run Code Online (Sandbox Code Playgroud)
错误:[DBNETLIB] [ConnectionOpen(Invalid Instance()).连接无效.
-- works perfect with ado.net
Data Source=mntek.no-ip.org;User ID=xxx;Password=xxx
Run Code Online (Sandbox Code Playgroud)
其他一些客户端应用程序(不是我的)使用oledb连接编写,因此我需要它们将db与oledb提供程序连接起来.
有任何想法吗?
问候,Mert
oledb connection sql-server-express sql-server-2008r2-express
我正在开发一个网站,它使用SQL Server 2008 R2 Express作为其数据库.在测试中,有大量数据和图像存储在此数据库中.
据wiki称,SQL Server Express版本的大小限制为10 GB.当我插入数据并达到限制时,将抛出什么异常?或者,如何通过代码检测接近极限问题?
我使用EF 5和代码优先的方法来插入大数据集.
c# sql-server entity-framework sql-server-2008r2-express entity-framework-5
我有一个非常慢的sql事务,它将在表中插入新行。来自其他连接的所有其他“选择”查询都将等待此操作来解锁表。
在第一个事务有效时,是否可以从表中获取旧行?
SqlExpress 2008 R2。例如:
private void button1_Click(object sender, EventArgs e)
{
System.Threading.Thread t = new System.Threading.Thread(
delegate()
{
var conn = new SqlConnection(@"Data Source=ARTNB\SQLEXPRESS;Initial Catalog=test;User ID=**;Password=******");
conn.Open();
var cmd = conn.CreateCommand();
var tr = conn.BeginTransaction( IsolationLevel.RepeatableRead, "test");
cmd.Transaction = tr;
cmd.CommandText = @"INSERT INTO Cards (SerialNumber,OperationID,TariffID,RequestTime,State,AgentInfo) VALUES('1213','345',13, GETDATE(),1,'')";
cmd.ExecuteNonQuery();
//very slow transaction
System.Threading.Thread.Sleep(300000);
tr.Commit();
conn.Close();
});
t.Start();
}
private void button2_Click(object sender, EventArgs e)
{
var conn = new SqlConnection(@"Data Source=ARTNB\SQLEXPRESS;Initial Catalog=test;User ID=**;Password=******");
conn.Open();
var cmd = conn.CreateCommand();
var …Run Code Online (Sandbox Code Playgroud) sql-server transactions isolation-level sql-server-2008r2-express
我正在构建一个需要来自5个表的数据的查询.过去,DBA告诉我,从某些性能/内存方面来看,指定列列表与获取所有列(*)是首选.我还被告知,当FROM子句中有一个表列表时,数据库会在幕后执行JOIN操作,以创建一个表(或视图).
现在的数据库目前只有非常少的数据,因为我们处于一个非常初始的阶段.所以不确定我能否在实践中衡量性能.我不是数据库专家.我可以得到我需要的数据.dillema是以什么价格出售的.
补充:目前我正在使用MS SQL Server 2008 R2.
我的问题是:
以下是否存在性能差异以及原因:a.SELECT ... FROM tbl1,tbl2,tbl3等为简单起见?(不知怎的,我觉得这可能会影响性能)b.SELECT ... FROM tbl1 inner join tbl2 on ... inner join tbl3 on ... etc(这会对服务器更加明确并节省性能/内存)吗?C.SELECT ... FROM(从tbl1中选择x,y,z)作为t1内连接...等(这会保存anythig吗?还是只是为服务器和我们创造更多工作的额外选择语句)?
有没有更好的方法来做到这一点?
下面是两个查询,它们都获得了我需要的数据片段.一个包含更多嵌套的select语句.
如果他们不是以标准形式编写或无助地过于复杂,我会道歉 - 希望你能破译.我尽量让他们保持井井有条.
洞察力也将受到最多的赞赏.谢谢你检查一下.
5个表:设备池,用户,旅行,TripTracker和订单
查询1(更多选择语句):
SELECT
username,
base.devid devid,
tripstatus,
stops,
stopnumber,
[time],
[orderstatus],
[destaddress]
FROM
((
( SELECT
username,
devicepool.devid devid,
groupid
FROM
devicepool INNER JOIN users
ON devicepool.userid = users.userid
WHERE devicepool.groupid = 1
)
AS [base]
INNER JOIN
(
SELECT
tripid,
[status] tripstatus,
stops,
devid,
groupid …Run Code Online (Sandbox Code Playgroud) 我想知道这可能是打开一个最好的方法SqlConnection与Sql Server 2008R2 Express Edition数据库.此版本的Sql具有RAM使用率和CPU使用率的限制,因此我们必须采用最佳方法来打开SqlConnection.
现在我正在检查每个方法的开始和结束时的连接.这是一个例子.
private void CheckValidId(string Id)
{
CheckConnectionStatus();
try
{
sqlConnection.Open();
sqlCommand = new SqlCommand("select * from ValidId where id=@id", sqlConnection);
sqlCommand.Parameters.AddWithValue("@id", Id);
sqlDataReader = sqlCommand.ExecuteReader();
While (sqlDataReader.Read())
{
string Test = sqlDataReader["Id"].toString();
MessageBox.Show("Value of Id : " , Test);
}
}
catch (Exception exp)
{
MessageBox.Show(exp.Message.ToString(), "Exception in CheckValidId");
}
finally
{
CheckConnectionStatus();
}
}
Run Code Online (Sandbox Code Playgroud)
这是CheckConnectionStatus方法
private void CheckConnectionStatus()
{
if (sqlConnection.State == ConnectionState.Open)
{
sqlConnection.Close();
} …Run Code Online (Sandbox Code Playgroud) c# sql-server database-connection sql-server-2008-r2 sql-server-2008r2-express
真的可以使用更新查询的一些帮助...(SQL Serer 2008 R2 Express)我有两个表,tblJP和tblMaster.
我只有一个在两个表之间匹配的字符串字段.
tblJP AND tblMaster
Run Code Online (Sandbox Code Playgroud)
我需要更新tblJP.LangString与tblMaster.Long_text时
tblJP.short_text = tblMaster.short_text AND tblMaster.Lang = 'jp'
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.我正在旋转我的车轮尝试各种逻辑和语法,从创建临时表到其他类型的连接都没有运气.
如何仅在存在隐藏CRLF的字符串末尾执行替换查询?像这样的东西,但只在字符串的末尾,而不是字符串中的任何位置
declare @NewLine char(2)
set @NewLine=char(13)+char(10)
update tableName
set columnName =Replace(columnName , @NewLine,'')
where ( RIGHT(columnName ,2)=@NewLine)
Run Code Online (Sandbox Code Playgroud)
一些字符串有多个段落,所以CR LF是可以的,只是不在文本字符串的末尾.
上面的代码仍然替换整个字符串中的CR LF.
SQL Server 2008 R2 Express
更新: 我最近对建议答案的测试表明,在SSMS中,CRLF似乎保留在中间字符串中,但在将内容复制到Excel并在每个字符上运行ACSII比较后,没有CRLF,它们似乎已转换为空间.我一直在测试这段代码并将结果导出到文本文件和CSV.
create table #t(t varchar(400))
insert into #t values('abc'+char(13)+char(10)+'xyz'+char(13)+char(10))
insert into #t values('rrrrr'+char(13)+char(10)+'sssss'+char(13)+char(10))
insert into #t values('Sentence1
Sentence2!
Sentence3
')
insert into #t values('rrrrr'+char(13)+char(10))
insert into #t values('Sentence111
Sentence222
')
insert into #t values('abc1234'+char(13)+char(10)+char(13)+char(10)+'xyz987'+char(13)+char(10)+char(13)+char(10)+'lmnop345'+char(13)+char(10))
declare @NewLine char(2)
set @NewLine=char(13)+char(10)
select len(t),t from #t
update #t
set t = STUFF(t, LEN(t)-1, 2,'')
where ( …Run Code Online (Sandbox Code Playgroud) sql-server ×4
sql ×3
c# ×2
t-sql ×2
begininvoke ×1
connection ×1
oledb ×1
select ×1
transactions ×1
upgrade ×1