我有一个连接到SQLServer Express数据库文件的网站,用于成员资格和数据存储.所以我有两个.mdf文件.以下是连接字符串:
public static string ASPNETDB = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.mdf;Integrated Security=True;User Instance=True;User ID=;Password=; ";
public static string Dok = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\dok.mdf;Integrated Security=True;User Instance=True;User ID=;Password=; ";
Run Code Online (Sandbox Code Playgroud)
现在删除并重新安装网站后,我在连接建立的部分遇到了很多错误.这是错误:
Unable to open the physical file "C:\Inetpub\wwwroot\BSHHD\App_Data\aspnetdb_log.ldf".
Operating system error 5: "5(failed to retrieve text for this error. Reason: 1815)".
Cannot open user default database. Login failed.
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.
File activation failure. The physical file name "C:\Inetpub\wwwroot\BSHHD\App_Data
\aspnetdb_log.ldf" may be incorrect.
The log cannot be rebuilt because there were open …Run Code Online (Sandbox Code Playgroud) 我想用/ qs命令进行静默安装,以安装sql server 2014 express.我用2008快递进行了很多安装,并没有出现这种问题.
当我尝试安装时,通过双击安装文件或通过命令行安装,它会显示选择提取文件的目录提示.我搜索了很多,但我找不到任何有关此信息.
我的问题是:有没有办法指定要与其他命令一起提取的路径?
我认为/ qs(静音模式)不应该接受任何用户输入,这看起来像是2014版本的缺陷.有任何想法吗?
我正在INSERT使用 MS VS 2010 Express Edition 在我的 Visual C#.NET 中执行这样的 SQL 命令:
private void btnAdd_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(Properties.Settings.Default.loginDBConnectionString);
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO tblEmp (ID, firstname, lastname, email, position) VALUES ('"+textBox1.Text+"','"+textBox2.Text+"', '"+textBox3.Text+"', '"+textBox4.Text+"', '"+comboBox1.Text+"')", con);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Data Added!");
}
Run Code Online (Sandbox Code Playgroud)
执行此操作时,MessageBox显示 ,这意味着执行成功。但是,当我查看 table 时,我之前尝试插入的数据根本没有出现。
我有一个数据库 ( loginDB.mdf),里面有 2 个表: - TblLogin- 包含username并password用于成功执行的登录目的。- tblEmp- 包含员工数据,这是我尝试插入数据的数据。
我不明白的是为什么MessageBox实际上没有插入到我的tblEmp.
编辑: …
我读到我的本地 SQL Server Express 数据库文件应该位于此处(因为我计算机上的用户是“bclay”):
C:\Users\bclay\AppData\Local\Microsoft\Microsoft SQL Server 本地数据库\Instances\MSSQLLocalDB
...但这不可能,因为最新文件已经存在 2 个多月了,而且我今天更新了 SQL Server Express 数据(通过我的 C# Winforms 应用程序,使用 Visual Studio 2019 创建)。我如何找出这些文件的位置,以便备份它们?
使用 marc_s 的答案,我可以从 Visual Studio 的服务器资源管理器中获取该答案:
好吧,这看起来很奇怪:我导航到 Windows 资源管理器中的该位置,但它不会向我显示 \Data 子文件夹中的内容。虽然我选择了 Data 子文件夹,但它向我显示了其下面的 Installs 子文件夹中的内容,当我右键单击 Data 子文件夹以查看其属性时,它告诉我没有查看它的凭据:
如果我什至看不到 .mdf 文件,如何备份它?
我对所有 *.mdf 文件进行了硬盘驱动器范围的搜索,但它没有“找到”(显示)我的表。唯一可能相关的是这里的顶级,但它们有通用名称:
我认为是 marc_s 在某处提到使用 MS SQL Server Management Studio,并选择“任务”>“备份”。我下载/安装了它,它似乎有效:它确实在预期位置创建了一个备份文件夹。我看到它是在今天(2020 年 10 月 1 日)创建的,但我仍然看不到文件夹中的任何内容,因此我无法从中复制任何内容。这是当我选择“备份”文件夹时看到的内容(最后选择的文件夹的内容):
SQL Server中是否有一种方法可以创建一个主键自动递增的表?我一直在看"UniqueIdentifier"类型,但这似乎没有达到我的预期.
目前,我有这样的事情:
CREATE TABLE [dbo].[MyTable](
[Date] [datetime] NOT NULL,
[MyField1] [nchar](50) NOT NULL,
[MyField2] [nvarchar](max) NULL,
[Key] [uniqueidentifier] NOT NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
基本上,我希望KEY从1开始,并为每条记录增加自己.
primary-key uniqueidentifier create-table sql-server-express
我有以下查询:
WITH cte AS (
SELECT
windowId, frameIndx, elemIndx, comment,
ROW_NUMBER() OVER (PARTITION BY frameIndx ORDER BY elemIndx DESC)
AS
rn
FROM
dbo.translations
WHERE
windowId = 1 AND frameIndx IN (
SELECT
indx
FROM
dbo.translations_window
WHERE program_id = 1 AND active = 1
)
)
SELECT
windowId, frameIndx, elemIndx, comment
FROM
cte
WHERE
rn = 1
Run Code Online (Sandbox Code Playgroud)
在SQL Server 2008 R2 Developer(无论如何),SQL Server 2005 Express和使用管理工作室的SQL Server 2008 R2 Express(最后两项工作)中运行时,执行查询时没有问题.但是一旦我尝试使用Delphi中的ADODB执行此查询,我就会收到错误消息.
Incorrect syntax near the keyword WITH
Run Code Online (Sandbox Code Playgroud)
SQL的快速版本中是否禁止这些查询?查询中的问题是什么?客户端使用SQL express,所以我需要找到一个解决这个问题的解决方案,该解决方案在快速版本中运行.
我在云计算机上的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
我有一个ASP.NET MVC 3项目,本地数据库存储在/ App_Data目录中.此db是SQLExpress文件(*-mdf).
我的连接字符串在我的开发CPU中完美运行,连接字符串是:
data source =.\ SQLEXPRESS; initial catalog = CFCBBSecurity; Integrated Security = SSPI; AttachDBFilename = | DataDirectory |\MYFILE.mdf; User instance = true"providerName ="System.Data.SqlClient"
当我使用VS 2010将其上载到Azure时,所有文件都在服务器中,但应用程序无法访问数据库.
我该怎么办,更改或更新?
提前致谢.
代码:
Private m_cn As New SqlConnection
Private m_DA As SqlDataAdapter
Private m_CB As SqlCommandBuilder
Private m_DataTable As New DataTable
Private m_intRowPosition As Integer = 0
Private Sub InsertDatabaseItem_Load(sender As Object, e As EventArgs) Handles MyBase.Load
m_cn.ConnectionString = "Data Source=My-PC\SQLSERVEREXPRESS;Initial Catalog=ConvienienceProducts;Integrated Security=True"
m_cn.Open()
m_DA = New SqlDataAdapter("Select * From ProductIndex", m_cn)
m_CB = New SqlCommandBuilder(m_DA)
End Sub
Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
Dim cmd As New SqlCommand(("INSERT INTO ProductIndex VALUES(" &
txtID.Text & "," &
txtName.Text …Run Code Online (Sandbox Code Playgroud) sql-server ×3
ado.net ×1
adodb ×1
asp.net ×1
azure ×1
c# ×1
connection ×1
create-table ×1
database ×1
delphi ×1
insert ×1
licensing ×1
oledb ×1
primary-key ×1
sql ×1
t-sql ×1
vb.net ×1