我正在尝试参数化所有现有的sql,但以下代码给我一个问题:
command.CommandText = String.Format("SELECT * FROM({0})
WHERE ROWNUM <= :maxRecords", command.CommandText);
command.Parameters
.Add("maxRecords", OracleType.Int32).Value = maxRecords;
Run Code Online (Sandbox Code Playgroud)
报告的错误是"ORA-01036:非法变量名称/编号".
我认为这是因为OracleType.Int32不是ROWNUM的正确数据类型.那是什么?
我最近安装了Node.js,npm,ionic和cordova,如Ionic入门中所述
现在,当我打开Visual Studio项目时,Bower/NPM窗口显示以下错误:
System.AggregateException:发生一个或多个错误.---> Microsoft.NodejsTools.Npm.PackageJsonException:在'C:\ Users\Colin\AppData\Roaming \npm \node_modules\cordova \node_modules \npm \node_modules\graceful-fs\package.json'中读取package.json时出错:读取package.json时出错.该文件可能是可解析的JSON,但可能包含具有重复属性的对象.
这似乎是由于npm包的问题.那么我该如何解决这个问题呢?我是否安装了早期版本的Node,npm,cordova或graceful-fs?我该怎么做?
编辑 在Vikas Vats的评论之后,我运行了以下命令:
cordova -v 我被告知我的全球版本是5.3.3
npm uninstall -g cordova
npm install -g cordova@4.3.0
我现在得到报告的相同错误,graceful-fs\package.json但这次它位于不同的位置:
C:\ Users \用户科林\应用程序数据\漫游\ NPM \node_modules \离子\node_modules \离子-APP-LIB \node_modules \离子-科尔多瓦-LIB \node_modules\NPM \node_modules \优美-FS \的package.json
编辑 我找到了解决方案.此问题的详细信息:如何使用不同的连接字符串(但相同的数据库)进行迁移
我创建了一个SQL Server登录名供我的网站使用:
USE Master
CREATE LOGIN website_live
WITH PASSWORD = N'ItsASecret',
DEFAULT_DATABASE = MyDb,
DEFAULT_LANGUAGE = British,
CHECK_EXPIRATION = OFF,
CHECK_POLICY = OFF
GO
Run Code Online (Sandbox Code Playgroud)
然后我赋予它读写权限:
USE MyDb
CREATE USER website_live
FOR LOGIN website_live
WITH DEFAULT_SCHEMA = dbo
EXEC sp_addrolemember N'db_datareader', N'website_live'
EXEC sp_addrolemember N'db_datawriter', N'website_live'
Run Code Online (Sandbox Code Playgroud)
并在我的连接字符串中使用该登录
一切正常,直到我从Visual Studio发布需要更改架构的数据库迁移(编辑:我的意思是对数据库结构的更改.我并不是说我想要更改网站使用的架构).
我真的不想给网站永久权限来改变数据库.我是否可以创建仅在迁移期间使用的另一个数据库用户?那会安全吗?我该怎么做,只需点击几下就能保持发布的便利性吗?
NB我正在使用Entity Framework迁移.当我从Visual Studio发布网站时,网站会自动在浏览器中打开,如果要运行数据库迁移,则使用网站的凭据运行.
当我想要创建或更改存储过程和视图时,我通过将 sql 放入如下语句中来避免“应该是批处理文件中的第一个语句”错误:EXEC
Sql(EXEC('Alter View dbo.Foos As etc'))
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但这确实意味着我必须一直逃避撇号。
我最近意识到DbMigration.Sql方法采用一个名为 的布尔参数suppressTransaction。文档中是这样描述的:
指示 SQL 是否应在用于迁移过程的事务之外执行的值。
所以我在没有使用的情况下对其进行了测试EXEC:
例如Sql('Create View dbo.Foos As etc', true);
它有效,但我担心的是这个。如果我在迁移过程中的其他地方犯了错误怎么办?我假设其他所有内容都会回滚,但这个 Sql 不会。我最终会导致数据库处于不确定状态吗?如果这是真的,这个参数有什么用呢?
您好我的问题是使用Visual Studio工具开发HTML5中的phonegap应用程序,用于apache cordova https://www.visualstudio.com/en-us/features/cordova-vs.aspx 当我调试应用程序时出错
Ripple ::环境变暖(茶.伯爵灰色.热.)ripple.js(37,13099)
主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用.如需更多帮助,请查看http://xhr.spec.whatwg.org/.> ripple.js(50,28958)
无法加载资源:服务器响应状态为404(未找到)ripple.js
感谢您的帮助
我已经阅读了有关如何使用 git 命令从存储库中删除忽略文件中的文件的信息:将目录添加到 .gitignore 后从远程存储库中删除。
我将 Visual Studio 2019 与 Azure DevOps 中的存储库一起使用。我使用了以下步骤:
git rm -r --cached .
这告诉 git 停止跟踪所有内容,现在我的所有文件在“暂存更改”中显示为已删除,而在“更改”中显示为添加的文件数量较少。这看起来不错。我假设被忽略的文件不会再次添加回来,所以当我提交这些添加时,所有原本应该被忽略的文件都将在服务器上被删除。我猜这与行尾有关,但几乎不可能查看更改。有没有办法阻止我使用这个过程时发生的空白变化?或者扭转空白变化?或者告诉 git 只检查删除?
TLDR 答案(来自 VonC):
git rm -r --cached .
git config --global core.autocrlf false
git add --renormalize .
git add .
git commit
Run Code Online (Sandbox Code Playgroud) 我们最近将审核添加到了数据库中。一位同事使用触发器将其实现,并要求我在登录网站时调用存储过程。该存储过程将当前用户名和当前oracle会话ID插入表中,以便触发器可以将会话ID映射到用户名。问题是(或曾经)他假设用户的Internet会话已映射到数据库会话。事实并非如此,我们使用连接池,因此oracle会话ID可以映射到许多用户,而不必映射到在该会话上登录的用户。因此,我在数据访问层中创建了一个实用程序方法,该方法在每次插入,更新和删除时都调用他的过程(确保它在同一事务中):
/// <summary>
/// Performs an insert, update or delete against the database
/// </summary>
/// <param name="transaction"></param>
/// <param name="command">The command.</param>
/// <param name="transaction">A transaction, can be null.
/// No override provided without a transaction, to remind developer to always consider transaction for inserts, updates and deletes</param>
/// <returns>The number of rows affected by the operation</returns>
public static int InsertUpdateDelete(OracleCommand command, OracleTransaction transaction)
{
if (command == null)
throw new ArgumentNullException("command", "command is null.");
OracleConnection connection = null;
bool …Run Code Online (Sandbox Code Playgroud) 我在WebApi 2项目中有一个BreezeController:
[BreezeController]
public class BreezeController : ApiController
{
private readonly IBreezeRepository _repo;
public BreezeController(IBreezeRepository repo)
{
_repo = repo;
}
[HttpGet]
public string Metadata()
{
return _repo.MetaData;
}
[HttpGet]
public IQueryable<Property> Properties()
{
return _repo.Properties;
}
}
Run Code Online (Sandbox Code Playgroud)
我的客户端应用程序使用此代码来使用数据:
var mgr = new breeze.EntityManager({
serviceName: "http://localhost:24830/breeze/breeze/"
});
EntityQuery
.from('Properties')
.select('ID')
.using(mgr)
.execute()
.then(querySucceeded, _queryFailed);
function querySucceeded(data) {
return data.results;
}
function _queryFailed(error) {
alert("Error while making http call: " + error.message);
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的应用程序时 - 它是一个移动应用程序,它在Ripple中打开 - 我可以调试到javascript.它运行到_queryFailed方法,我收到此错误消息:
我一直在将我的项目迁移到Visual Studio 2015 RC.我还将它重构为单独的项目.现在我需要为实体框架中的模型更改添加迁移,但是一旦打开包管理器控制台,我就会收到以下错误消息:
Set-DefaultScaffolder:无法获取EnvDTE.DTE的实例在C:\ Users ...\Visual Studio 2010\Projects\MyProject\packages\T4Scaffolding.Core.1.0.0\tools\init.ps1:50 char:30
如果我清除控制台并再试一次,我会遇到"遇到异常" - 活动日志中有更多信息.检查活动日志,例外是:
System.ArgumentOutOfRangeException:指定的参数超出了有效值的范围.参数名称:span at Microsoft.VisualStudio.Text.Classification.Implementation.ClassifierTagger.d__1中的NuGetConsole.Implementation.Console.WpfConsoleClassifier.GetClassificationSpans(SnapshotSpan span)中的Microsoft.VisualStudio.Text.SnapshotSpan..ctor(ITextSnapshot快照,跨度范围) .MoveNext()at Microsoft.VisualStudio.Text.Tagging.Implementation.TagAggregator`1.d__1.MoveNext()
我意识到我已经删除了一些我可能不应该拥有的软件包.所以我重新安装了这些:
ModelScaffolding 0.9.2
MvcScaffolding 1.0.9
T4Scaffolding 1.0.8
Run Code Online (Sandbox Code Playgroud)
这似乎已经取消了第二个异常(ArgumentOutOfRangeException).但是,现在当我尝试时,Add-Migration我得到了
Join-Path:无法将参数绑定到参数'Path',因为它为null.在C:\ Users ...\Visual Studio 2010\Projects\MyProject\packages\EntityFramework.6.1.0\tools\EntityFramework.psm1:713 char:27
我尝试卸载并重新安装Entity Framework.我注意到在安装过程中再次显示了Join-Path错误,但是包管理器继续,并报告安装成功.我尝试时仍然出错Add-Migration
然后我在Visual Studio Express 2013中打开了解决方案.我仍然收到初始Cannot get an instance of EnvDTE.DTE错误,但我可以清除控制台窗口,我可以添加迁移 - P!
我还是想摆脱那个错误信息...并使用VS 2015 ......
我正在使用Visual Studio 2017中的cordova应用程序,我正在尝试使用文件插件访问文件系统.不幸的是,当使用"在浏览器中模拟"(使用cordova-simulate)调试应用程序时,这不起作用.
'SecurityError:确定某些文件对Web应用程序内的访问不安全,或者对文件资源进行了太多调用.提出错误.
我想如果必须将'--allow-file-access-from-files'选项传递给chrome,但我不知道怎么做,因为chrome在新窗口中自动启动,我找不到任何配置选项在Visual Studio中.
visual-studio cordova visual-studio-cordova visual-studio-2017
cordova ×3
ionic ×2
.net ×1
audit ×1
azure-devops ×1
breeze ×1
c# ×1
entity-framework-migrations ×1
git ×1
node.js ×1
npm ×1
nuget ×1
oracle ×1
ripple ×1
sql-server ×1