小编Kir*_*ril的帖子

c#2008 SQL Server Express连接字符串

我在我的一台机器上安装了一个2008 SQL Server Express,我正在尝试建立一个远程连接...当我使用MS SQL Server Management Studio时,我可以毫无问题地登录数据库(使用相同的凭证),但是当我尝试在C#应用程序中创建连接字符串时,我得到一个异常:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.

这是我的连接字符串的样子(私人信息被更改):

"Data Source="MACHINENAME\\SQLEXPRESS";User ID="Admin";Password="the_password";Initial Catalog="MyDatabase";Integrated Security=True;Connect Timeout=120");
Run Code Online (Sandbox Code Playgroud)

正如我所说,我可以使用具有相同设置的Management Studio登录:相同的用户ID,密码和数据源名称,但是当我尝试使用上述连接字符串打开连接时,它会失败.

注意:

  1. 我已启用服务器上的远程连接,禁用防火墙,启用与服务器的TCP/IP连接,打开SQL浏览器.

  2. 当我在同一台机器上时,连接字符串工作正常.

  3. 我查找了Integrated Security选项并将其设置为false只是为了确保它没有尝试使用Windows登录,但它仍然失败.

  4. 数据库设置为允许Windows登录和数据库登录.

  5. 我将集成安全性选项更改为SSPI,True,最后是False,所有3都给出了与上面相同的错误.

任何人都可以告诉我,如果我做错了什么?

更新,这是我的确切代码(这次只删除了密码,我添加了在同一台机器上运行的管理工作室的图片):

string _connectionString =
            //string.Format("Server=%s;User ID=%s;Password=%s;Database=%s;Connect Timeout=120", // Same problem
            //string.Format("Server=%s;User ID=%s;Password=%s;Database=%s;Integrated Security=False;Connect Timeout=120", // Same problem
            string.Format("Data Source=%s;User ID=%s;Password=%s;Initial Catalog=%s;Integrated Security=False;Connect Timeout=120", // Same problem
            "GANTCHEVI\\SQLEXPRESS",
            "FinchAdmin",
            "the_password",
            "Finch");
Run Code Online (Sandbox Code Playgroud)

通过Management Studio连接:见图片http://s113.photobucket.com/albums/n202/ozpowermo/?action=view¤t=ManagementStudio.jpg

http://s113.photobucket.com/albums/n202/ozpowermo/?action=view¤t=ManagementStudio.jpg

我想到了:

当使用"Data Source ="标签时,应使用"用户ID",如果您使用用户ID,它似乎不起作用!

string _connectionString = "Data Source=GANTCHEVI\\SQLEXPRESS;Initial Catalog=Finch;Integrated Security=False;User Id=FinchAdmin;Password=the_password;Connect Timeout=0";"
Run Code Online (Sandbox Code Playgroud)

c# sql-server connection-string sql-server-2008-express

6
推荐指数
1
解决办法
7万
查看次数

C#如何创建在运行时解释的函数

我正在制作一个遗传程序,但是我在C#中遇到了限制,我希望在算法中提供新的函数,但是如果不重新编译程序我就无法做到.本质上,我希望程序的用户提供允许的功能,GP将自动使用它们.如果要求用户尽可能少地了解编程,那将是很好的.

我想插入新功能而不将它们编译到程序中.在Python中这很容易,因为它都被解释了,但我不知道如何使用C#来做到这一点.有谁知道如何在C#中实现这一目标?有没有图书馆,技术等?

c# genetic-programming genetic-algorithm

6
推荐指数
2
解决办法
889
查看次数

Interlocked是否保证C#中其他线程的可见性,还是仍然需要使用volatile?

我一直在阅读类似问题的答案,但我仍然有点困惑......亚伯有一个很好的答案,但这是我不确定的部分:

...声明变量volatile会使每次访问都变得不稳定.不可能以任何其他方式强制执行此行为,因此不能用Interlocked替换volatile.在其他库,接口或硬件可以访问您的变量并随时更新它或需要最新版本的情况下,需要这样做.

是否Interlocked保证对所有线程的原子操作的可见性,或者我是否仍然必须volatile在值上使用关键字以保证对更改的可见性?

这是我的例子:

volatile int value = 100000; // <-- do I need the volitile keyword
// ....

public void AnotherThreadMethod()
{
 while(Interlocked.Decrement(ref value)>0)
 {
  // do something
 }
}


public void AThreadMethod()
{
 while(value > 0)
 {
  // do something
 }
}
Run Code Online (Sandbox Code Playgroud)

更新:
我是一个糟糕的运动,我改变了原来的例子,所以这里又是:

public class CountDownLatch
{
    private volatile int m_remain; // <--- do I need the volatile keyword here?
    private EventWaitHandle m_event;

    public CountDownLatch(int count)
    {
        Reset(count);
    }

    public void …
Run Code Online (Sandbox Code Playgroud)

c# multithreading volatile interlocked thread-safety

6
推荐指数
1
解决办法
931
查看次数

将业务逻辑放在Java Bean中?

我正在阅读这个页面,我发现了以下声明:

Java Server Pages中的MVC

现在我们有一个方便的结构来分隔视图,我们如何利用它?Java Server Pages(JSP)变得更有趣,因为HTML内容可以与Java业务对象分离.JSP也可以使用Java Bean.业务逻辑可以放在Java Bean中.如果设计的架构正确,Web Designer可以在JSP站点上使用HTML而不会干扰Java开发人员.

有趣的是,在我的教科书中,我引用了以下引用:

在MVC架构中......原始请求总是由servlet处理.servlet调用业务逻辑和数据访问代码并创建bean来表示结果(即模型).然后,servlet决定哪个Java Server Page适合呈现那些特定结果并在那里转发请求(JSP是视图).servlet决定应用什么业务逻辑代码以及哪些JSP应该呈现结果(servlet是控制器).

这两个陈述似乎有点矛盾.使用bean的最佳方法是什么:我们应该在其中放置业务逻辑还是仅将结果放入其中?有没有豆类不足以代表模型的方法?

java model-view-controller jsp servlets

6
推荐指数
1
解决办法
7413
查看次数

是否有一个C++并发容器库

可能重复:
C++中是否存在生产就绪无锁队列或散列实现

我正在寻找无锁容器的实现:

  • 队列
  • 哈希地图
  • 等等...

阻止容器怎么样:

  • 阻止队列
  • 阻止堆栈

那里有好的图书馆吗?我想不要编写这些数据结构......我宁愿使用经过社区测试的东西.

c++ concurrency containers multithreading

6
推荐指数
1
解决办法
2144
查看次数

如何更改java DNS服务提供程序

我正在构建一个快速的Web爬虫,我需要多线程DNS解析,所以我选择了一个名为dnsjava的多线程DNS服务提供程序.不幸的是,我无法弄清楚如何更换默认的DNS服务提供商.

我查看了dnsjava 的README文件,但说明并不是很完整.

替换标准Java DNS功能:

从Java 1.4开始,可以在运行时加载服务提供程序.要加载dnsjava服务提供程序,请按照上面的说明构建它并设置系统属性:

sun.net.spi.nameservice.provider.1 = DNS,dnsjava

这指示JVM以最高优先级使用DNS提供的dnsjava服务.

有几件事我不清楚:

  1. 我在哪里放置dnsjava.jar?
  2. 应该在哪里设置系统属性(是程序化还是某种类型的文件更改)?

我在Windows 7机器上运行,我不确定我需要做什么来查找/修改系统属性...帮助!?

更新:
知道了:System.setProperty("sun.net.spi.nameservice.provider.1","dns,dnsjava");

java dns service-provider dnsjava

6
推荐指数
1
解决办法
8438
查看次数

如何用java将图像分成两部分

我想知道是否存在基于某些特征分割图像的"智能"方式.

图像是300x57,黑色和白色(实际上是灰度,但大多数颜色是黑色或白色),它由两个主要特征(让我们称之为斑点)组成,由黑色空间分隔,每个斑点的宽度和高度略有不同,斑点的位置也各不相同,斑点永远不会重叠!

这是图像"看起来"的样子:

-------------------------
----WWW---------WWWWW----
---WWWWWWW----WWWWWW-----
-----WWWW-------WWW------
-------------------------
Run Code Online (Sandbox Code Playgroud)

由此产生的分裂将是这样的:

------------     -------------
----WWW-----     ----WWWWW----
---WWWWWWW--     --WWWWWW-----
-----WWWW---     ----WWW------
------------     -------------
Run Code Online (Sandbox Code Playgroud)

我计划采取的步骤,以分割图像:

  1. 将图像从一侧扫描到另一侧.
  2. 确定blob的边缘.
  3. 取两个内边缘之间的距离.
  4. 在内部距离的中间分割图像.
  5. 将两个图像另存为单独的文件.

如果我规范化图像宽度会很好,所以我的所有图像在保存时都具有统一的宽度.

我没有图像处理的经验,所以我不知道这是一种有效的方法.我目前正在使用BufferedImage,获取宽度/高度,迭代每个像素等等.我的问题没有错误的解决方案,但我正在寻找更高效的解决方案(更少代码+更快).我也一直在研究java.awt.Graphics ......

如果我能找到更有效的方法来完成这项任务,我将不胜感激.我想坚持使用Java的内置库,在这种情况下,BufferedImage或Graphics2D是最有效的吗?

编辑:这是阅读建议后的代码:

public void splitAndSaveImage( BufferedImage image ) throws IOException
{
    // Process image ------------------------------------------         
    int height = image.getHeight();
    int width = image.getWidth();
    boolean edgeDetected = false;
    double averageColor = 0;
    int threshold = -10;
    int rightEdge = 0;
    int leftEdge = 0;
    int middle = 0;

    // Scan the image and …
Run Code Online (Sandbox Code Playgroud)

java graphics image-manipulation image-processing

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

如何有效地包装固定大小的循环缓冲区的索引

我有一个固定大小的循环缓冲区(实现为数组):初始化时,缓冲区将填充指定的最大元素数,允许使用单个位置索引,以便跟踪我们在圆圈中的当前位置.

访问循环缓冲区中元素的有效方法是什么?这是我目前的解决方案:

int GetElement(int index)
{
    if (index >= buffer_size || index < 0)
    {
        // some code to handle the case
    }
    else
    {
        // wrap the index
        index = end_index + index >= buffer_size ? (index + end_index) - buffer_size : end_index + index;
    }

    return buffer[index];
}
Run Code Online (Sandbox Code Playgroud)

一些定义:
end_index是紧跟在圆圈中最后一个元素之后的元素的索引(它也被认为与start_index或圆的第一个元素相同).
buffer_size是缓冲区的最大大小.

c# c++ java optimization circular-buffer

5
推荐指数
4
解决办法
9637
查看次数

正则表达式忽略下划线

我有一个正则表达式([-@.\/,':\w]*[\w])*,它匹配文本中的所有单词(包括像IBM这样的标点符号),但我想让它排除下划线,我似乎无法弄清楚如何做到这一点...我尝试添加^[_](例如(^[_][-@.\/,':\w]*[\w])*)但它只是将所有单词分解为字母.我想保留单词匹配,但我不希望在其中包含带下划线的单词,也不希望单词完全由下划线组成.

什么是正确的方法来做到这一点?

PS

  • 我的应用程序是用C#编写的(如果这有任何区别).
  • 我不能使用A-Za-z0-9因为我必须匹配单词而不管语言(可能是中文,俄文,日文,德文,英文).

更新
这是一个例子:

"IBM应该被解析为一个单词w_o_r_d!俄语也应该起作用:мплексисторическихсобытий."

比赛应该是:

I.B.M.  
should  
be  
parsed  
as  
one  
word  
Russian  
should  
work  
too  
??????  
????????????  
???????  
Run Code Online (Sandbox Code Playgroud)

请注意,w_o_r_d不应该匹配.

c# regex regex-negation

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

如何从boost :: posix_time :: ptime获取自纪元时间以来的毫秒时间

我已经在SO上看到了其他一些答案,这些答案表明我们可以通过从"其他"时间减去纪元时间从毫秒中获取时间,但是当我尝试它时它不起作用:

ptime epoch = time_from_string("1970-01-01 00:00:00.000");
ptime other = time_from_string("2011-08-09 17:27:00.000");

long diff = (other-epoch).total_milliseconds();
Run Code Online (Sandbox Code Playgroud)

在这个阶段差异是-1349172576,它应该是一个正数,因为"其他"时间是2011年.有人知道是什么原因造成的吗?从纪元开始,获得毫秒的正确方法是什么?

另外,我试图从毫秒开始构造一个ptime对象:

ptime result = from_time_t(diff);
Run Code Online (Sandbox Code Playgroud)

然后结果变为:"1927-Apr-01 13:50:24",它应该是"2011年8月9日17:27:00.000".这里有什么收获?

更新:

好的,所以我的错误源于我有2个程序,一个是C#(8字节/ 64位长)和一个C++(4字节/ 32位长); 无论如何,这里没有描述这种互动.

但是,当我使用时long long,该值为正,但结果日期(构造from_time_t)仍然不正确:"2012-Oct-02 10:09:36".

c++ time datetime boost date

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