小编Jef*_*eff的帖子

Oracle.DataAccess为什么Oracle.ManagedDataAccess不起作用?

我正在开发一个非常简单的应用程序,我打算用它来解决我在几台机器上遇到的问题,但在我做到这一点之前,我遇到了一些问题,包括cpu架构差异和Oracle数据库库.

我有一个数据库服务器tnsnames.ora,坐在我的C:\oracle\11g\network\admin目录中.如果我收拾这台服务器,我会得到所需的响应.如果我使用Oracle.DataAccess.Client将我的C#程序编码为使用以下代码连接到此服务器,则它可以正常工作.

string connectionString = "Data Source=DSDSDS;User Id=UNUNUN;Password=PWPWPW;";
DataTable dataTable = new DataTable();

using (var connection = new OracleConnection(connectionString)) {
    connection.Open();
    using (var command = new OracleCommand()) {
        command.Connection = connection;
        command.CommandText = sql;
        command.CommandType = CommandType.Text;
        using (var oda = new OracleDataAdapter(command)) {
            oda.Fill(dataTable);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,Oracle.DataAccess依赖于它运行的系统的体系结构.我看到有另一个库Oracle.ManagedDataAccess,它独立于架构.当我使用这个库时,它不再能够连接到服务器.一个ORA-12545: Network Transport: Unable to resolve connect hostname被抛出.

为什么会这样?这两个库之间有什么不同,因为基于我到目前为止所读到的内容,这应该不是问题.

额外的信息:

  • %ORACLE_HOME%和%TNS_ADMIN%未定义(请记住tnsping和Oracle.DataAccess工作)
  • PATH C:\oracle\11g\BIN定义了.
  • 我的机器只有一个tnsnames.ora文件

如果我将tnsnames.ora移动到与我的.exe文件相同的位置,它就可以了.为什么Oracle.DataAccess可以在C:\oracle\11g\network\admin目录中找到tnsnames.ora 但Oracle.ManagedAccess不能?

c# oracle tnsnames

39
推荐指数
3
解决办法
10万
查看次数

Eclipse Javascript格式化程序(ctrl-shift-f)

我不喜欢问这个问题,但我老老实实地一直在寻找一种方法来解决这个问题很长一段时间.

这是一个简单的问题.我已经使用NetBeans很长一段时间了,但最近转向Eclipse的原因有几点我不打算进入.无论如何,我发现javascript源格式化行为非常奇怪.

这是我自己格式化的javascript代码示例块:

function buildDatabase () {
    db.transaction(function (tx) {
        tx.executeSql('DROP TABLE IF EXISTS calendar');
        tx.executeSql('CREATE TABLE IF NOT EXISTS calendar(id UNIQUE, summary, description, location, startdate, enddate)');
    }, function (err) {
        document.querySelector('#debugLog').innerHTML += '<p><code>' + err.message + '</code></p>';
    });
}
Run Code Online (Sandbox Code Playgroud)

非常简单的东西.现在,如果我点击Ctrl+ Shift+ F来格式化它(因为坦率地说这个功能节省了很多时间)因为我无法理解它现在看起来像这样:

function buildDatabase() {
    db
            .transaction(
                    function(tx) {
                        tx.executeSql('DROP TABLE IF EXISTS calendar');
                        tx
                                .executeSql('CREATE TABLE IF NOT EXISTS calendar(id UNIQUE, summary, description, location, startdate, enddate)');
                    },
                    function(err) {
                        document.querySelector('#debugLog').innerHTML += '<p><code>'
                                + err.message …
Run Code Online (Sandbox Code Playgroud)

javascript eclipse code-formatting

26
推荐指数
2
解决办法
3万
查看次数

Android phonegap项目垃圾邮件QTAGUID消息

我一直有这个问题已经有一段时间了,虽然它不会对我的应用程序产生负面影响,但如果可以,我想解决它.我不确定如何描述问题.

基本上,我有一个Android PhoneGap 1.9项目,使用API​​ 15(这也发生在API 10下),LogCat日志有来自QTAGUID的无情垃圾邮件,特别是来自我的应用程序.

08-04 14:31:30.092: I/qtaguid(15542): Failed write_ctrl(u 118) res=-1 errno=22
08-04 14:31:30.092: I/qtaguid(15542): Untagging socket 118 failed errno=-22
08-04 14:31:30.092: I/qtaguid(15542): Failed write_ctrl(u 123) res=-1 errno=22
08-04 14:31:30.092: I/qtaguid(15542): Untagging socket 123 failed errno=-22
08-04 14:31:36.338: I/qtaguid(15542): Failed write_ctrl(u 116) res=-1 errno=22
08-04 14:31:36.338: I/qtaguid(15542): Untagging socket 116 failed errno=-22
08-04 14:31:36.368: I/qtaguid(15542): Failed write_ctrl(t 116 43082816946176 1074812240) res=-1 errno=1
08-04 14:31:36.368: I/qtaguid(15542): Tagging socket 116 with tag 272f00000000(10031) for …
Run Code Online (Sandbox Code Playgroud)

android jquery-mobile phonegap-plugins cordova

16
推荐指数
1
解决办法
3186
查看次数

Android PhoneGap 1.7调用javascript函数

好的,我需要给一些背景知识.首先我使用的是带有PhoneGap 1.7的jquery-mobile.我编写了一个使用ServerSocket对象的非常简单的Java服务器.在Android手机上,我连接到服务器,这样服务器通过套接字发送数据.这部分正在运作.

我坚持的部分是我打算通过该套接字发送数据,这将需要在接收数据时更新jquery移动UI.


答:西蒙是一个巨大的帮助,我在他的帮助下想出来并遵循本教程

真正打击我的部分是在PhoneGap插件本身产生的线程.一旦我意识到,一切都到位了.但是,对于任何感兴趣的人都是代码.请记住,我从教程中学到了很多东西.我还包括我为测试这些概念而创建的非常简单的Java服务器.我想也许这将有助于将来的某个人.请记住,这基本上是一个概念证明.

我需要修改这个插件以满足我的实际需求:

Android Activity:import org.apache.cordova.DroidGap;

import android.os.Bundle;

public class ISSAndroidActivity extends DroidGap {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }
}
Run Code Online (Sandbox Code Playgroud)

PhoneGap插件:

import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.net.SocketException;

import org.apache.cordova.api.*;
import org.apache.cordova.api.PluginResult;
import org.apache.cordova.api.PluginResult.Status;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.util.Log;

public class InvokeJavaScriptPlugin extends Plugin {
    public static String PLUGIN_TAG = "InvokeJavaScriptPlugin";
    public static String PROCESS_DATA_ACTION …
Run Code Online (Sandbox Code Playgroud)

javascript java jquery cordova

5
推荐指数
1
解决办法
5344
查看次数

在wwwroot之外提供静态文件,但在目录不存在时处理PhysicalFileProvider

我正在尝试从外部提供文件,wwwroot但也处理目录可能尚不存在的设置情况.例如,如果我构建了一个依赖于此目录的站点,但是用户没有按照安装说明进行操作并首先创建该目录.

为了争论,我们假装我想要一个简单的网站,其中有一个页面可以读取该目录的内容并显示一些文件.此页面还可能允许您从/Documents子目录下载文件.示例目录将是C:\Example\Documents.

由于这是一个aspnet核心mvc项目,我将UseStaticFiles()在Startup.cs中使用Configure方法

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory) {
    if (env.IsDevelopment()) {
        app.UseDeveloperExceptionPage();
        app.UseBrowserLink();
    } else {
        app.UseExceptionHandler("/Home/Error");
    }

    app.UseStaticFiles();

    // If C:/Example/Documents does not exist, an exception is thrown
    // ArgumentException: The directory name C:\Example\Documents\ is invalid
    // What is worse, the users is not directed to /Home/Error due to the application failing to properly start.
    app.UseStaticFiles(new StaticFileOptions() {
        FileProvider = new PhysicalFileProvider("C:/Example/Documents"),
        RequestPath = new PathString("/Documents"),
    });

    app.UseMvc(routes …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-mvc

5
推荐指数
1
解决办法
1749
查看次数

新 csproj 格式的程序集探测私有路径

我最近完成了将 WPF 项目转换为更精简的新 csproj 格式。

但是,我还剩下一个缺失的部分,probing为程序集添加了一条路径,该路径曾经存在于旧app.config文件中。由于缺少这个,我的应用程序找不到所需的 dll。

我进行此设置的方式是使用 Post-build 事件清除项目并将其移动到 bin 文件夹:

SET folder=bin
rmdir "$(TargetDir)%folder%" /s /q
mkdir "$(TargetDir)%folder%"
move "$(TargetDir)*.dll" "$(TargetDir)%folder%\"
Run Code Online (Sandbox Code Playgroud)

我尝试向 .csproj 文件添加一些条目,但无济于事。我相信这更适合编译应用程序:

SET folder=bin
rmdir "$(TargetDir)%folder%" /s /q
mkdir "$(TargetDir)%folder%"
move "$(TargetDir)*.dll" "$(TargetDir)%folder%\"
Run Code Online (Sandbox Code Playgroud)

我想我的主要问题是,我还应该有一个 app.config,还是有更好的 .csproj 方法可用?

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="bin"/>
    </assemblyBinding>
  </runtime>
</configuration>
Run Code Online (Sandbox Code Playgroud)

如果我包含它,我的应用程序将工作,但我想知道我是否可以简化它,或者以更好的方式来做这件事。

c# msbuild csproj

5
推荐指数
0
解决办法
233
查看次数

ASP.NET Core 路由引擎混乱

我正在尝试创建一个关于 ASP.NET Core 路由引擎如何工作的可靠示例,结果让我感到惊讶。

此示例背后的前提是点击控制器索引页面,然后使用 AJAX 请求加载数据。

我用 MVC 创建了一个 ASP.Net Core 应用程序。然后我添加了以下控制器:

namespace WebApplication2.Controllers {
    using Microsoft.AspNetCore.Mvc;

    public class SearchController : Controller {
        public IActionResult Index() {
            return View();
        }

        [HttpGet("{company}")]
        public IActionResult Get(string company) {
            return Ok($"company: {company}");
        }

        [HttpGet("{country}/{program}")]
        public IActionResult Get(string country, string program) {
            return Ok($"country: {country} program: {program}");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我还创建了一个简单的视图,与带有“搜索页面”字样的索引一起使用,以便您可以看到它被调用。

问题是由此创建的路由没有意义。

预期成绩

  • /搜索/索引
  • /搜索/{公司}
  • /搜索/{国家}/{程序}

以公司:“ABC”,国家:“加拿大”和程序:“管道”为例:

  • /搜索/索引

    产生:“搜索页面”

  • /搜索/美国广播公司

    制作“公司:ABC”

  • /搜索/加拿大/水暖

    产生:“国家:加拿大计划:管道”

实际结果

然而,它根本不是这样工作的。相反,这些是结果:

  • /搜索/索引

产生:“国家:搜索程序:索引”

  • /搜索/美国广播公司

产生:“国家:搜索程序:ABC”

  • /搜索/加拿大/水暖

产生:404 未找到

很明显,Index …

c# asp.net-core

5
推荐指数
1
解决办法
209
查看次数

在iOS和Android项目之间共享JSON文件

我继承了一个Xamarin项目(不是Xamarin.Forms),现在它有三个主要组件.

iOS项目,Android项目,最后是共享项目(不是PCL而不是.Net标准项目).

尽管是共享项目,但应用程序会读取每个项目的资源文件夹中包含的json文件.该文件是重复的.我觉得这个文件应该在共享项目中

澄清一下,这是结构:

共享项目

没有资产

iOS版

资源/ test.json

Android的

资产/ test.json

我相信该test.json文件应该作为共享项目中的一个文件存在.我的第一步是做这个动作,我将文件更改Build Action=Content为适用于iOS项目的文件.但似乎Android项目没有得到这个文件.我在编译和存档的.apk文件中的任何地方都找不到它.

有什么我可以做的,或者我是否需要接受这个设计缺陷并构建.Net标准库或PCL?如果是这样,你究竟如何为非Xamarin.Forms项目制作.Net标准版或PCL版.

xamarin.ios xamarin.android xamarin

2
推荐指数
1
解决办法
1047
查看次数